您的位置:首页 > 数据库 > Redis

利用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或者重启机器,都不会导致数据丢失。
突然断电的情形由于机房的电源够不着,只能作罢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: