以前做过一次session 共享, 这次做一个备份说明。
不多说了 上配置
所需要得jar包
- memcached-session-manager-1.6.5.jar
- memcached-session-manager-tc7-1.6.5(tomcat6 请选tc6)
- javolution-5.4.3.1.jar
- msm-javolution-serializer-1.6.5.jar
- spymemcached-2.10.3.jar
- couchbase-client-1.4.4.jar
1.下载呢 很简单maven公服
maven 公服 http://mvnrepository.com/
阿里云maven 公服 http://maven.aliyun.com/
并将这些jar 放到tomcat得lib 下。
2.修改tomcat conf content.xml
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.1.250:11211,n2:192.168.1.250:11213"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
sessionBackupTimeout="1000"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false" />
sticky=”false”
lockingMode=”auto”
这两个属性如果并发请求读取不到session时应去掉。
transcoderFactoryClass 序列化器 指定序列化器。(据说Kryo based serialization效率高)
- Java serialization: de.javakaffee.web.msm.JavaSerializationTranscoderFactory
- Kryo based serialization: de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory
- Javolution based serialization: de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory
- XStream based serialization: de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory
常用配置说明
sticky 可选项
定义session方式为黏性或非黏性,默认为true,多个tomcat时需使用非黏性
lockingMode 可选项
只有非黏性session才使用,默认值为none
none: 从不对session进行锁定
all: session将一直被锁定,知道请求结束
auto: 对于只读请求,session将不会被锁定,如果是非只读请求,则session会被锁定
uriPattern: 通过正则表达式的方式来对请求uri以及查询字符串进行匹配,只有匹配上的才会被锁定。
sessionBackupAsync 可选项
指定Session是否应该被异步保存到Memcached中。 如果被设置为true,backupThreadCount设置起作用,如果设置false,通过sessionBackupTimeout设置的过期时间起作用。
sessionBackupTimeout 可选项
设置备份一个Session所用的时间,如果操作超过时间那么保存失败。此属性只在sessionBackupAsync=”false”是起作用。默认100毫秒
感谢:
http://blog.youkuaiyun.com/big1980/article/details/8454333
http://www.cnblogs.com/interdrp/p/4096466.html
http://blog.youkuaiyun.com/xq328220454/article/details/39257105