redis 替代session的方案,相关问题。

ahdkk 发布于 2016/03/14 10:57
阅读 3K+
收藏 2

背景:

1. 传统的session使用的方法是,getSession之后,使用put方法把我们需要存储的信息已key,value的形式放进session中,现在出现了很多这种key,value的nosql的数据库之后,很多的web开发都逐渐使用redis或者memcache去替代session。

2. 这样做我能感觉到的优势就是集群的时候可能比以前session复制要方便一些,其他也没发现什么特别的好处啊?

我想问的问题是:

1. 现在使用redis替代session的多吗?一般redis就是只用来存储原先session的东西,还是有其他的东西也存储到了redis中?

2. 相对于session,redis有哪些特别的优势?

3. 一般使用redis都是结合spring-redis + jRedis客户端去操作redis数据库吗?

加载中
0
熊猫也天真
熊猫也天真
好处很多,你说的session复制是一方面,更多的是因为请求状态无关,可以tomcat实例快速扩容,便于较快的搭建一个支撑较大访问量的集群。举个例子:一个16C32G的服务器,可以采用nginx+lvs作为反向代理,tomcat配置多个实例,独立redis存储用户登陆信息及其他缓存信息。可以参考:http://blog.csdn.net/zouyujie1127/article/details/41605063
0
旋风小胖神
集群时会用Codis 来做分布式集群缓存。
0
悠悠然然
悠悠然然

我想问的问题是:

1. 现在使用redis替代session的多吗?一般redis就是只用来存储原先session的东西,还是有其他的东西也存储到了redis中?

Redis可以理解为一个KV库,所以可以用来做缓冲,也可以用来替代Session。当然,还可以利用它的一些高级特性做更多的用法。

2. 相对于session,redis有哪些特别的优势?

避免Session复制,所有集群中的服务器都可以访问,分享。

3. 一般使用redis都是结合spring-redis + jRedis客户端去操作redis数据库吗?

如果是缓冲,大概是这样子的,如果是替代Session,当然是改写Session实现机制来嫁接到Redis中的为好,这样原来的代码不需要怎么修改就可以良好切换。

0
wangkang80
wangkang80

1.据我了解,应该不太多,不是说有问题,而是说大多数人应该都没有遇到需要使用reids来存储session的场景,一般来说,redis中用来缓存一些热点数据,当然用来缓存session也是没有问题的.

2.主要的就是避免session复制,在集群中所有节点访问的session数据都是一致的,不过要考虑一个问题,就是redis本身的高可用如果规划.

3. 一般使用redis都是结合spring-redis + jRedis客户端去操作redis数据库吗?

3.一般来说在应用层就能完成这个需求,我这边是使用spring+shiro+jredis来完成的,原理就是实现shiro相关的接口,然后使用jredis来做数据操作,就行.

完整的实现可参考:http://git.oschina.net/wangkang/llsfw

希望能够帮到你.

0
bboss
bboss

用bboss session ,完整的实现session 共享功能,遗留系统可集成性非常好,基本不需修改应用程序,或者做少量的调整即可;并且自带非常强大的session监控统计查询功能,参考文档:bboss session介绍

bboss session监控在线演示地址:

http://sessionmonitor.bbossgroups.com/session/sessionManager/sessionManager.page

返回顶部
顶部