日期:2014-05-17  浏览次数:20890 次

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