windows下用memcache做tomcat集群session复制
1.下载memcached的windows版本,地址在http://code.jellycan.com/memcached/
2.解压到任意目录,然后用管理员身份cd到你的解压目录
3.memcached.exe -d install
4.memcached.exe -d start
memcached安装完成。
下载memcache的for tomcat的session集成包,地址在
http://code.google.com/p/memcached-session-manager/
下载以下文件
http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar
http://spymemcached.googlecode.com/files/memcached-2.4.2.jar
http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-1.3.0.jar
将这些文件放到tomcat的lib目录下
修改tomcat的配置文件content.xml,添加以下代码
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"
/>
然后重启两个tomcat,即可实现将session由memcache来管理,由于两个tomcat配置的memcachenode是一致的,所以session就保持同步了。
配置memcached
vi /etc/sysconfig/memcached
PORT="11211" #默认端口
USER="memcached" #使用用户
MAXCONN="1024" #最大连接数
CACHESIZE="64" #缓存大小
OPTIONS="" #其他选项
查看memcached使用状态
printf "stats\r\n"| nc 127.0.0.111211
附件是windows下所需要的包。
还有这个地址,可以参考下:http://code.google.com/p/testcq/wiki/MemcacheSessionShare