天天看點

tomcat memcached session共享

本機使用win7

提前說明:不建議使用memcached共享session。原因是memcached坑爹的回收機制,存在使用者突然掉線的風險。以及占用記憶體過大。

以下為由于各種曆史問題導緻需要使用memcached 共享的,記錄。

ps:項目記得序列化

1、下載下傳:http://memcached.org/

2、下載下傳tomcat

3、開始:

1)、sc create "Memcached_11211" start= auto binPath= "C:\Program Files\memcached\memcached.exe -d runservice -m 1024 -p 11211 -l 127.0.0.1" DisplayName= "Memcached_11211"(預設端口11211)

sc start "Memcached_11211" //啟動

sc stop "Memcached_11211" //停止

sc delete "Memcached_11211" //解除安裝該服務

參數直說:-m表示使用記憶體兆;-p表示使用端口

2)、配置tomcat下conf/context.xml

memcached支援的序列化參數

   1.javolution序列化tomcat配置<Context>與</Context>中間

   conf/context.xml添加

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

   memcachedNodes="n1:127.0.0.1:11211 n2:127.0.0.1:11311"   

   lockingMode="auto"

   sticky="false" 

   requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"    

   sessionBackupAsync= "false"   

   sessionBackupTimeout= "100"  

   copyCollectionsForSerialization="true"   

   transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" />

   lib增加jar包

   msm-javolution-serializer-cglib-1.3.0.jar

   msm-javolution-serializer-jodatime-1.3.0.jar

   spymemcached-2.10.3.jar

   javolution-5.4.3.1.jar

   msm-javolution-serializer-1.7.0.jar

   memcached-session-manager-1.7.0.jar

   memcached-session-manager-tc7-1.7.0.jar

2、xstream序列化tomcat配置

   conf/context.xml添加

   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

   memcachedNodes="n1:127.0.0.1:11211 n2:127.0.0.1:11311"   

   lockingMode="auto"

   sticky="false" 

   requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"    

   sessionBackupAsync= "false"   

   sessionBackupTimeout= "100"

   transcoderFactoryClass="de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory" />

   lib增加jar包

   xmlpull-1.1.3.1.jar

   xpp3_min-1.1.4c.jar

   xstream-1.4.6.jar

   msm-xstream-serializer-1.7.0.jar

   spymemcached-2.10.3.jar

   memcached-session-manager-1.7.0.jar

   memcached-session-manager-tc7-1.7.0.jar

3、flexjson序列化tomcat配置

   conf/context.xml添加

   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

   memcachedNodes="n1:127.0.0.1:11211 n2:127.0.0.1:11311"     

   lockingMode="auto"

   sticky="false" 

   requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"    

   sessionBackupAsync= "false"   

   sessionBackupTimeout= "100"      

   transcoderFactoryClass="de.javakaffee.web.msm.serializer.json.JSONTranscoderFactory" />

   lib增加jar包

   flexjson-3.1.jar

   msm-flexjson-serializer-1.7.0.jar

   spymemcached-2.10.3.jar

   memcached-session-manager-1.7.0.jar

   memcached-session-manager-tc7-1.7.0.jar

4、kryo序列化tomcat配置

   conf/context.xml添加

   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

   memcachedNodes="n1:127.0.0.1:11211 n2:127.0.0.1:11311"   

   lockingMode="auto"

   sticky="false" 

   requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"    

   sessionBackupAsync= "false"   

   sessionBackupTimeout= "100"    

   copyCollectionsForSerialization="true"   

   transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />

   lib增加jar包

   kryo-1.04.jar

   minlog-1.2.jar

   asm-3.2.jar

   reflectasm-1.01.jar

   kryo-serializers-0.11.jar

   msm-kryo-serializer-1.7.0.jar

   spymemcached-2.10.3.jar

   memcached-session-manager-1.7.0.jar

   memcached-session-manager-tc7-1.7.0.jar

資源等下次上傳。

推薦使用redis或者直接去session化(雖然,我們自己也沒去掉,有各種理由:什麼舊項目修改工程大、原始項目已經足夠使用無需擴大什麼的)

内容寫的不全下次補充

繼續閱讀