1. 程式人生 > >tomcat + redis 實現session共享

tomcat + redis 實現session共享

實現原理很簡單
1、需要幾個包放在tomcat/lib下面 tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar(tomcat7) tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar (tomcat6) commons-pool2-2.3.jar commons-pool-1.6.0.jar jedis-2.1.0.jar 主要包的版本,如果jedis用新的,commons-pool等儘可能也用新的。
2、在tomcat/conf 檔案的context.xml加入如下內容
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> 
        <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
   host="127.0.0.1" port="6379" database="0" maxInactiveInterval="6" />
3、這樣就實現了tomcat的session交給了redis來快取,這樣使用nginx+tomcat做叢集的時候, 就不會出現 session丟失的情況。
4、錯誤提示,我一開始用的tomcat7 一直有一個錯誤,就是tomcat7裡面的程式獲取redis的連   接後不釋放,一直存在,redis的記憶體消耗一直增加,後面改用tomcat6是正常的。 所以判定是tomcat7有問題,就下載了一個新的tomcat7綠色版,發現是可以的。所以這個配置和包是沒有問題的,問題可能在我以前的tomcat7做過什麼修改,導致了這個錯誤,可 是一直沒有找到錯誤的所在