分布式环境下session的存储
分布式缓存session
以memcache举例
?
笔者使用google code下面的memcached-session-manager来实现分布式环境下session的缓存,经笔者测试性能还不错。当然,读者可以按照类似思路自己实现。
?
memcached-session-manager项目地址:http://code.google.com/p/memcached-session-manager/
?
笔者使用kryo来做对象序列化。
?
1.WEB-INF下面需要引入
kryo-1.04-all.jar
kryo-serializers-0.9.jar
msm-kryo-serializer.1.5.0.jar
?
2.tomcat的lib下面引入
memcached-2.5.jar
memcached-session-manager-1.5.0.jar
memcached-session-manager-tc6-1.5.0.jar
?
3.context.xml的context标签下面加入:
<Manager?className="de.javakaffee.web.msm.MemcachedBackupSessionManager"??
memcachedNodes="n1:127.0.0.1:11211"?sticky="false"?lockingMode="auto"??
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"??
sessionBackupAsync="false"?sessionBackupTimeout="0"??
memcachedProtocol="binary"?copyCollectionsForSerialization="true"??
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"??
?/>??
其中memcachedNodes表示memcache节点,如需配置多个中间空格分开(如 n1:192.168.0.11.1:11211 n2:192.168.0.10:11211)