想借助redis存储用户登录信息

Gillian_Male 发布于 2014/09/22 17:41
阅读 6K+
收藏 1
之前想象觉得session和cookie不太合适,想现在使用redis存储当前用户的登录信息,那么每次获取用户的过程中,怎么拿到这个key?这样才能继续用redis获取用户信息。难道是request.getAttribute("balabala")?有没有一些别的方法?谢谢了
加载中
1
零度的亲吻
零度的亲吻
JAVA的不清楚,但是你可以试着重写SESSION, PHP里有提供重写SESSION机制,以致可以使用MC或者redis存储SESSION
0
Zoker
Zoker
官网上应该有相应的组件吧
0
ksfzhaohui
ksfzhaohui
可以是 包名+类名+Id=key
0
林小宝
林小宝
sesssionid可以帮助你
0
杨栓
杨栓

为嘛session不能储存用户的登录信息,就算放到redis里面也总要向session里面放一个id来对应吧?

0
平安北京
应该把session放到redis里面
0
老陌
老陌

session 是依赖于cookie的! 明白一点:HTTP协议是无状态的,所以Cookie(或者类似客服端存储手段)是必不可少的。 

使用session时,会存放一个key到客户端的cookie中, 每次访问服务器时,取到这个key就知道是这次访问了。 至于这个key对应的内容,可以存放到文件,数据库,memcache,redis... 都只是一种选择方式。

所有,session肯定是适合你得,关键是正确去运用。

0
木木三
木木三

想怎么存怎么存 key value格式定义一下就可以

0
Feng_Yu
Feng_Yu
可以参考《redis in action》这本书,第二章专门就是以登录网站存储cookie的问题做了详细的讲解
0
Gillian_Male
Gillian_Male
各位,我的意思是每次发送一个request请求进去的时候,怎么知道当前这个用户是谁?难道是设置request.setAttribute()每次都这个用户的key,或者是session.setAttribute(),每次进去再session.getAttribute(),如果是这样为何不把用户信息直接放在session或者request里面,何必麻烦放在redis?我纠结的是这个,每次都要知道这个key从哪里来。谢谢。@Feng_Yu @木木三 @老陌 @冷泉 @杨栓 @林小宝 @零度的轻吻 @Zoker  @那个我打不出来的字
杨栓
杨栓
我觉得用户的信息有可能会比较庞大,放到redis里是一种节省你这边处理客户请求部分server的内存的一种方式。 但总要放入session中一个id来标示用户的,放入cookie中一方面用户可能禁用,另一方面也很不安全(我黑一台用户的电脑拿到cookie就可以登录到你的网站获取到用户的各种信息了)。
Gillian_Male
Gillian_Male
回复 @老陌 : 你说的对,其实就是获取参数的方式,所以,我问题的核心就是你们主要是通过什么方式去获取这样的参数。我担心我的想法不合理,或者有什么缺陷
老陌
老陌
回复 @Gillian_Male : cookie 只是一种方式, 你甚至可以使用 get/post/header 等方式将参数传递到 服务端。传参数才是目的,cookie只是一种手段。正如 Feng_Yu 这哥们儿说的,其实不用担心这个..... , 谈不上指导,就是一个分享。说指导,我脸都红了。
Gillian_Male
Gillian_Male
回复 @Feng_Yu : 好的,谢谢了
Feng_Yu
Feng_Yu
回复 @Gillian_Male : 二八定律,不用管。我想90%以上的用户甚至都不知道有cookie这个东西存在,更别提禁用cookie了,不用为了这极其微小的概率花费时间。可以看看楼上我提到的书,就是用cookie带上token认证的。强烈建议读
下一页
返回顶部
顶部