-
需要在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或者重启机器,都不会导致数据丢失。
突然断电的情形由于机房的电源够不着,只能作罢。