转载:分布式Session共享:tomcat+memcached实现session共享
2016-04-06 21:32
661 查看
原文:http://www.cnblogs.com/notDog/p/5341219.html?utm_source=tuicool&utm_medium=referral
本文主要测试memcached实现session共享的实现方式,不讨论如何让nginx参与实现负载均衡等。
本测试在Window下进行
-
3.1 获取jar包
首先需要Session管理相关的包
memcached-session-manager-1.9.2.jar
memcached-session-manager-tc7-1.9.2.jar
因为用到memcached,所以还需要
spymemcached-2.10.3.jar
序列化(只测试了两种方式,二选一即可)
kryo序列化方案(都说kryo序列化效率高)
asm-5.0.4.jar
kryo-3.0.3.jar
kryo-serializers-0.34.jar
minlog-1.3.0.jar
msm-kryo-serializer-1.9.2.jar
objenesis-1.2.jar
reflectasm-1.11.1.jar
javolution序列化方案
javolution-5.4.3.1.jar
msm-javolution-serializer-1.9.2.jar
msm-javolution-serializer-cglib-1.3.0.jar
msm-javolution-serializer-jodatime-1.3.0.jar
打包下载:
memcached-session-manager-1.9.2_By_kryo-serializer.rar
memcached-session-manager-1.9.2_By_javolution-serializer.rar
3.2 导入Jar包
把以上生成的jar放入tomcat的lib目录下,打开Context.xml,
如果采用javolution序列化方式,添加如下代码:
如果采用的是kryo序列化方式,添加如下代码:
依次启动memcached,tomcat1,tomcat2
在浏览器中分别打开:
http://localhost:8001/examples/servlets/servlet/SessionExample
Session ID: 8BB1C837F4423CE4C4F1393D14C110C5-n1
http://localhost:8002/examples/servlets/servlet/SessionExample
Session ID: 8BB1C837F4423CE4C4F1393D14C110C5-n1
cmd进入命令提示符,输入
telnet 127.0.0.1 11211
连接memcached主机,输入
stats items
列出存入的数据列表
输入 state cachedump 5 0 查看key值
发现,三处SessionID是一致的。
一、前言
本文主要测试memcached实现session共享的实现方式,不讨论如何让nginx参与实现负载均衡等。
二、环境配置
本测试在Window下进行name | version | port |
Tomcat1 | 7.0.68 | 127.0.0.1:8001 |
Tomcat2 | 7.0.68 | 127.0.0.1:8002 |
Memcached | 1.4.2 | 127.0.0.1:11211 |
-
三、配置memcached-session-manager
3.1 获取jar包首先需要Session管理相关的包
memcached-session-manager-1.9.2.jar
memcached-session-manager-tc7-1.9.2.jar
因为用到memcached,所以还需要
spymemcached-2.10.3.jar
序列化(只测试了两种方式,二选一即可)
kryo序列化方案(都说kryo序列化效率高)
asm-5.0.4.jar
kryo-3.0.3.jar
kryo-serializers-0.34.jar
minlog-1.3.0.jar
msm-kryo-serializer-1.9.2.jar
objenesis-1.2.jar
reflectasm-1.11.1.jar
javolution序列化方案
javolution-5.4.3.1.jar
msm-javolution-serializer-1.9.2.jar
msm-javolution-serializer-cglib-1.3.0.jar
msm-javolution-serializer-jodatime-1.3.0.jar
打包下载:
memcached-session-manager-1.9.2_By_kryo-serializer.rar
memcached-session-manager-1.9.2_By_javolution-serializer.rar
3.2 导入Jar包
把以上生成的jar放入tomcat的lib目录下,打开Context.xml,
如果采用javolution序列化方式,添加如下代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:localhost:11211" lockingMode="auto" sticky="false" requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$" sessionBackupAsync= "false" sessionBackupTimeout= "100" copyCollectionsForSerialization="true" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" />
如果采用的是kryo序列化方式,添加如下代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:localhost:11211" lockingMode="auto" sticky="false" requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$" sessionBackupAsync= "false" sessionBackupTimeout= "100" copyCollectionsForSerialization="true" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
3.3 测试结果
依次启动memcached,tomcat1,tomcat2在浏览器中分别打开:
http://localhost:8001/examples/servlets/servlet/SessionExample
Session ID: 8BB1C837F4423CE4C4F1393D14C110C5-n1
http://localhost:8002/examples/servlets/servlet/SessionExample
Session ID: 8BB1C837F4423CE4C4F1393D14C110C5-n1
cmd进入命令提示符,输入
telnet 127.0.0.1 11211
连接memcached主机,输入
stats items
列出存入的数据列表
输入 state cachedump 5 0 查看key值
发现,三处SessionID是一致的。
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- 实战Memcached缓存系统
- Linux部署Tomcat服务器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- 杰奇登录后的东西都是在session里面的
- Redis和Memcached的区别详解
- ASP中SESSION无法保存问题的解决办法
- Oracle中的Connect/session和process的区别及关系介绍
- Node.js编程中客户端Session的使用详解
- 浅谈COOKIE和SESSION区别
- 解析PHP的session过期设置
- php中Session的生成机制、回收机制和存储机制探究
- php中将一个对象保存到Session中的方法