利用redis实现tomcat session共享

来源:互联网 发布:代办各种假证淘宝 编辑:程序博客网 时间:2024/05/16 01:06
  1. 需要在tomcatlib目录下放入引用jar

commons-pool-1.6.jarjedis-2.1.0.jar tomcat-redis-session-manager-1.2-tomcat-7.jar

  1. 修改tomcatconf目录下的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>

其中,hostredis数据库的IP地址,portredis数据库的访问地址,password是访问密码,maxInactiveIntervalsession的有效时间,3600即有效时间为一个小时。

  1. session的确认与调试

        3.1IE的抓包工具找出sessionid(据说要IE11才有)

                如下图所示,在调试工具里,监听网络,然后再详细信息的Cookie可以找到当前session值,然后到redis里确认下,是否存在这个key


  1. session共享后,nginx原来的ip_hash的算法就可以去掉,改为weight的权重算法。

server193.160.31.22:8080 weight=3;

         server193.160.31.23:8080 weight=2;

2.redis如何保证内存中的数据的安全性。

redis会定时将内存中的数据写入文件,以防丢失。

至少kill redis或者重启机器,都不会导致数据丢失。

突然断电的情形由于机房的电源够不着,只能作罢。



0 0
原创粉丝点击