利用memcache来保存tomcat的session会话
- 利用memcache来保存tomcat的session会话
- 网上有大量的文章有写memcache在tomcat的设置方法,基本上都从一个文章里转的,把内容都搞乱了。
- 为此,写一篇记录一下。本文的主要目的是修正一下,部分网上有误的地方。
- 前提条件:
- 1、memcached正常工作了
- 2、tomcat 正常工作了。
- 1、安装方法及安装包
- javolution-5.4.3.1.jar
- memcached-2.4.2.jar
- memcached-session-manager-1.3.0.jar
- msm-javolution-serializer-cglib-1.3.0.jar
- msm-javolution-serializer-jodatime-1.3.0.jar
- 安装方法: 将这几个包放到/usr/local/tomcat6.0/lib里。
- 2、编辑tomcat的配置文件。 <这一点很重要,因为网上大多数文章都是说修改server.xml里配置;我试过但最终发现session的信息没有存入到memcache中,我意识到这可能是配置有问题。目前发现编辑context.xml这个文件,是可以立即将session丢入到memcache中的。>
- # vim /usr/local/tomcat6.0/conf/context.xml
- <Context>
- <!-- 在这个字段下添加以下内容,在节点入请填入你的memcached服务器ip及端口号-->
- <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
- memcachedNodes="n1:10.254.41.197:11211"
- requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
- sessionBackupAsync="false"
- sessionBackupTimeout="100"
- transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
- copyCollectionsForSerialization="false" />
- </Context>
- 3、如何测试?
- 我目前的测试方法是,通过apache的mod_jk来实现负载均衡(之前的文章里有写),并且启用tomcat之间的会话复制。
- 这样的结果就是,seesion ID会随着每次用户的提交而变换节点,但ID不变。
- 例如:
- ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.tomcat2
- 下次提交就会变成: <节点切换了,但是ID不变>
- ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.tomcat1
- 结合memcache的状态: <我之前在会话没有成功的丢到memcached这里时,cmd_set 为0 >
- # perl memcached-tool.pl 10.254.41.197:11211 stats
- cmd_get 27
- cmd_set 15
- get_hits 12
- # perl memcached-tool.pl 10.254.41.197:11211 stats
- cmd_get 31
- cmd_set 17
- get_hits 14
- 我想通过以上的判断,配置 是成功的!
- 关于tomcat的负载均衡:http://myhat.blog.51cto.com/391263/785131
转载于:https://blog.51cto.com/myhat/824159
利用memcache来保存tomcat的session会话相关推荐
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
原文:WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在<基于IIS的WCF服务寄宿(Hosting)实现揭秘>中,我们谈到在采用基于IIS(或者 ...
- [转载]web集群时利用memcache来同步session
web集群时session同步的3种方法 在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话 ...
- Tomcat+nginx+keepalived+memcached实现双VIP负载均衡及Session会话保持
准备好tomcat 第一台 tar vxf apache-tomcat-7.0.54.tar.gz mv apache-tomcat-7.0.54 /usr/local/tomcat tar vxf ...
- Nginx+Tomcat实现高可用和Session会话共享
一.简介 对于生产环境有了一定规模的tomcat集群业务来说,要实现session会话共享,比较稳妥的方式就是使用数据库持久化session.为什么要持久化session(共享session)呢?因为 ...
- Django源码分析5:session会话中间件分析
django源码分析 本文环境python3.5.2,django1.10.x系列 1.这次分析django框架中的会话中间件. 2.会话保持是目前框架都支持的一个功能,因为http是无状态协议,无法 ...
- 状态管理之cookie使用及其限制、session会话
# 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来. (cookie浏览器所涉及到的访问数据保存下来) # 2.如何进行状态管 ...
- redis介绍及保持session会话
转载自:http://blog.51cto.com/cherryliang/1944361 Redis介绍 ●redis是一个key-value存储系统.和Memcached类似,它支持存储的valu ...
- PHP漏洞之session会话劫持
本文主要介绍针对PHP网站Session劫持.session劫持是一种比较复杂的攻击方法.大部分互联网上的电脑多存在被攻击的危险.这是一种劫持tcp协议的方法,所以几乎所有的局域网,都存在被劫持可能. ...
- Shiro框架:缓存、session会话、自定义FormAuthenticationFilter、RemenberMe
上篇的地址:https://blog.csdn.net/a745233700/article/details/81350191 一.Shiro缓存--cacheManager: 针对上一篇授权的时候频 ...
最新文章
- php多文件上传类源码,PHP单文件上传类或多文件上传类源码
- 4.MYSQL 三大范式+BC范式
- idea 运行jmeter源码_学会BeanShell,才敢说自己懂Jmeter
- mysql 8.0 创建函数_MySQL 8.0 新增特性
- 铁血规则:事件预订与取消预订
- python的excel库_Python-Excel 模块哪家强?
- 【ES7(2016)】Array.prototype.includes()
- Function spec
- distributed--根索引
- 关于DllRegisterServer的调用失败的问题解决办法 错误代码0x80040201
- 宏碁 Acer AS4738ZG-P622G32Mncc 驱动
- 在线购物系统分析类图
- 语言-汉语-官话-中原官话-兖菏片-菏泽方言:菏泽方言
- ajax的get json数据格式,jQuery / 用getJSON()方法加载JSON格式数据 - 汇智网
- matlab示波器图形导出,(最新整理)Matlab-simulink示波器图形保存
- minio对象存储单机部署并设置开机自启动及集成spring boot进行(创建删除桶)(上传下载删除文件)
- 【文献阅读】Commission Fee is not Enough: A Hierarchical Reinforced Framework for Portfolio Management
- Logistic回归-数学原理(1)机器学习实战
- Gson解析json字符串,并封装成ListT
- iPhone上Siri无法正常回应如何解决?
热门文章
- VMware虚拟机文件
- 5条简洁的JavaScript技巧
- 现在加入Web前端学习还有市场吗?自己是否适合学习前端
- clion变量配置_cygwin安装和clion配置
- php 类自动执行,php类中的魔术方法及类的自动加载
- 请求参数 统一 管理 java_Retrofit+Rxjava+okhttp基本操作和统一处理 – R...
- Keras 中的循环神经网络 (RNN)
- linux 重定位arm,Arm linxu启动过程分析(一)
- 卸载jlink驱动出现Could not open INSTALL.LOG file错误解决方案
- SpringBoot中yaml配置