利用redis实现tomcat session共享
2015-08-27 16:30
726 查看
需要在tomcat的lib目录下放入引用jar包
commons-pool-1.6.jarjedis-2.1.0.jar tomcat-redis-session-manager-1.2-tomcat-7.jar
修改tomcat的conf目录下的context.conf文件,添加如下红字配置
<Context>
<!-- Defaultset of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncommentthis to disable session persistence across Tomcat restarts -->
<!--
<Managerpathname="" />
-->
<!-- Uncommentthis to enable Comet connection tacking (provides events
on sessionexpiration as well as webapp lifecycle) -->
<!--
<ValveclassName="org.apache.catalina.valves.CometConnectionManagerValve"/>
-->
<ValveclassName="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<ManagerclassName="com.radiadesign.catalina.session.RedisSessionManager"
host="193.160.31.24"
port="6379"
password="fnst1234"
maxInactiveInterval="3600"/>
</Context>
其中,host是redis数据库的IP地址,port是redis数据库的访问地址,password是访问密码,maxInactiveInterval是session的有效时间,3600即有效时间为一个小时。
session的确认与调试
3.1用IE的抓包工具找出sessionid(据说要IE11才有)
如下图所示,在调试工具里,监听网络,然后再详细信息的Cookie可以找到当前session值,然后到redis里确认下,是否存在这个key
session共享后,nginx原来的ip_hash的算法就可以去掉,改为weight的权重算法。
server193.160.31.22:8080 weight=3;
server193.160.31.23:8080 weight=2;
2.redis如何保证内存中的数据的安全性。
redis会定时将内存中的数据写入文件,以防丢失。
至少kill redis或者重启机器,都不会导致数据丢失。
突然断电的情形由于机房的电源够不着,只能作罢。
commons-pool-1.6.jarjedis-2.1.0.jar tomcat-redis-session-manager-1.2-tomcat-7.jar
修改tomcat的conf目录下的context.conf文件,添加如下红字配置
<Context>
<!-- Defaultset of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncommentthis to disable session persistence across Tomcat restarts -->
<!--
<Managerpathname="" />
-->
<!-- Uncommentthis to enable Comet connection tacking (provides events
on sessionexpiration as well as webapp lifecycle) -->
<!--
<ValveclassName="org.apache.catalina.valves.CometConnectionManagerValve"/>
-->
<ValveclassName="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<ManagerclassName="com.radiadesign.catalina.session.RedisSessionManager"
host="193.160.31.24"
port="6379"
password="fnst1234"
maxInactiveInterval="3600"/>
</Context>
其中,host是redis数据库的IP地址,port是redis数据库的访问地址,password是访问密码,maxInactiveInterval是session的有效时间,3600即有效时间为一个小时。
session的确认与调试
3.1用IE的抓包工具找出sessionid(据说要IE11才有)
如下图所示,在调试工具里,监听网络,然后再详细信息的Cookie可以找到当前session值,然后到redis里确认下,是否存在这个key
session共享后,nginx原来的ip_hash的算法就可以去掉,改为weight的权重算法。
server193.160.31.22:8080 weight=3;
server193.160.31.23:8080 weight=2;
2.redis如何保证内存中的数据的安全性。
redis会定时将内存中的数据写入文件,以防丢失。
至少kill redis或者重启机器,都不会导致数据丢失。
突然断电的情形由于机房的电源够不着,只能作罢。
相关文章推荐
- Windows 64位下安装Redis详细教程
- mysql redis 同步
- Redis简介与安装
- Java中使用Jedis操作Redis
- redis集群部署
- CentOS 7 下安装 Redis 2.8.7
- 开源分布式搜索平台ELK+Redis+Syslog-ng实现日志实时搜索
- elk+redis 搭建nginx日志分析平台
- RedisUtil
- redis中的发布订阅(Pub/Sub)
- redis中SETEX和SET有什么区别?
- 十个正确使用 Redis 的技巧
- 【转】centOS上安装redis+phpredis2.2.4扩展
- 我知道点redis-单机数据库(RDB持久化)
- redis实战基础篇:redis的5种数据类型的基本操作
- 调试C访问redis的代码
- redis综合mark
- 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- Redis源码分析---字典dict
- Redis示例配置文件