memcache-session-manager(flexjson)
MSM项目FlexJson序列化参考文档。
|
序号(步骤) |
需求描述 |
|
jar包列表: spymemcached-2.11.1.jar memcached-session-manager-tc8-1.8.0.jar memcached-session-manager-1.8.0.jar msm-flexjson-serializer-1.8.3.jar flexjson-3.3.jar 将jar包放到/tomcat/lib/下 |
|
|
修改/tomcat/conf/context.xml,增加如下内容. <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.0.215:20201 n2:192.168.0.221:20201" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" sessionBackupAsync="true" sticky="false" storageKeyPrefix=“static:kaoqin" lockingMode="none" sessionBackupTimeout="3000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.json.JSONTranscoderFactory" copyCollectionsForSerialization="false" /> |
|
|
添加日志。 添加de.javakaffee.web.msm.level=FINE 到 $CATALINA_HOME/conf/logging.properties |
注1:
各个参数的含义及其基本配置:
1.className。必须的。且是固定的,MemcachedBackupSessionManager 继承了org.apache.catalina.session.ManagerBase 并实现了org.apache.catalina.Manager接口。
2.memcachedNodes 必须。格式可以上空格分隔或者“,”分隔。节点数不宜过多。
3.requestUriIgnorePattern 可选。过滤请求。
4.sessionBackupAsync 可选。是否异步保存session。同步会保存完毕后才返回response,如果追求响应通常设置为true。默认是true。
5.sticky,可选。
6.backupThreadCount(自1.3,可选,默认数-CPU的内核)sticky=“false”起作用。
7.operationTimeout(自1.6.0,可选,默认 1000)。设置使用memcache操作的超时时间。
8.storageKeyPrefix(自1.8.0,可选,默认 webappVersion)支持静态参数和动态参数两种模式。静态参数格式:“static:kaoqin” session的格式为sessionid=kaoqin_jsessionid-n1。动态参数支持(host,context,webappVersion)。这里有一些例子,证明它的配置会创建一个存储键(会话ID为“foo”上下文路径“ctxt”和主机“HST”): * static:x -> x_foo * host -> hst_foo * host.hash -> e93c085e_foo * context -> ctxt_foo * context.hash -> 45e6345f_foo * host,context -> hst:ctxt_foo * webappVersion -> 001_foo * host.hash,context.hash,webappVersion -> e93c085e:45e6345f:001_foo
(注—---动态参数: 1.host是conf/server.xml中得<Host name=“localhost”>
2.host.hash 是host名字的hash码
3.context 是 上线文路径,通常是要在META-INF/context.xml 配置。或者是
/conf/Catalina/localhost/context.xml.default 或者是
/conf/Catalina/localhost/helloapp.xml 或者是/conf/context.xml或者是
/conf/server.xm文件中的<Host>元素中查找<Context>子元素。该<Context>元素的信息 只适用于单个Web应用。 如果定义context是root则会被忽略。
4.context.hash 是context的hash码。
5.webppVersion 是默认值
三个可以互相组合使用,可用逗号隔开。如context,host,我
)
9。sessionBackupTimeout。默认100毫秒.备份会话的超过100被认为是操作失败。
10.transcoderFactoryClass。
transcoderFactoryClass(自1.1,可选,默认 de.javakaffee.web.msm.JavaSerializationTranscoderFactory)
创建使用从memcached的串行/解串会话/转码器工厂的类名称。指定的类必须实现de.javakaffee.web.msm.TranscoderFactory并提供一个无参数的构造函数。其他TranscoderFactory实现都可以通过其他的包/罐状MSM-KRYO串器,MSM-XStream的串器 和MSM-javolution串器(如上述),这些上市和比较上SerializationStrategies。
可用TranscoderFactory实现
:* Java序列化:de.javakaffee.web.msm.JavaSerializationTranscoderFactory * KRYO基于序列:de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory * Javolution基于序列:de.javakaffee.web.msm.serializer。 javolution.JavolutionTranscoderFactory *基于XStream的系列化:de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory
11.copyCollectionsForSerialization:默认为false。
12.memcachedProtocol (since 1.3, optional, default text)
13.username (since 1.6.0, optional)
更多详细请查阅:
https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration
注2:
最好的话可以使用kryo来实现序列化,这中序列化方式被认为是效果非常出众的,本次并未尝试成功。
memcache-session-manager(flexjson)的更多相关文章
- 分布式Session共享(二):tomcat+memcached实现session共享
一.前言 本文主要测试memcached实现session共享的实现方式,不讨论如何让nginx参与实现负载均衡等. 二.环境配置 本测试在Window下进行 name version port To ...
- 分布式Session共享(一):tomcat+redis实现session共享
一.前言 本文主要测试redis实现session共享的实现方式,不讨论如何让nginx参与实现负载均衡等. 二.环境配置 本测试在Window下进行 name version port Tomcat ...
- PHP面试常考内容之Memcache和Redis(2)
你好,是我琉忆.继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读.本周(2019.2-18至2-22) ...
- PHP面试常考内容之Memcache和Redis(1)
你好,是我琉忆.继上周(2019.2-11至2-15)发布的"PHP面试常考内容之面向对象"专题后,发布的第二个专题,感谢你的阅读.本周(2019.2-18至2-22)的文章内容点 ...
- [转载]抓包,端口镜像,monitor session命令(转)
原文地址:抓包,端口镜像,monitor session命令(转)作者:浮云皓月 一.SPAN简介 SPAN技术主要是用来监控交换机上的数据流,大体分为两种类型,本地SPAN和远程SPAN. --Lo ...
- Android Priority Job Queue (Job Manager)(一)
Android Priority Job Queue (Job Manager)(一) 一.为什么要引入Android Priority Job Queue (Job Manager)?如今的A ...
- Memcache 学习笔记(二)---- PHP 脚本操作 Memcache 服务器
PHP 脚本操作 Memcache 服务器 一.PHP脚本操作Memcache方法 使用 PHP 脚本操作 Memcache,在 PHP 手册中有详细的介绍,我们可以实例化 Memcache 类,根 ...
- 转!!Java设置session超时(失效)的时间
Java设置session超时(失效)的时间 在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session具体设置的方法有三种:1 ...
- Cloudera Manager (centos)安装详细介绍
文章全部来自:Cloudera Manager (centos)安装详细介绍http://www.aboutyun.com/thread-9190-1-1.html(出处: about云开发) 这里已 ...
- memcache常见现象(一)雪崩现象
memcache常见现象(一)雪崩现象 解释:memcached雪崩现象就是因为缓存服务器出现问题导致数据库压力增大,导致数据库不能正常运行. 1.很多大的公司网站可能会有很多台缓存服务器,这样如果其 ...
随机推荐
- [ios]objective-c 协议和委托 (重点基础知识)
objective-c protocol delegateprotocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现. delegate-委托,顾名思义就是委托 ...
- Context都没弄明白,还怎么做Android开发?
Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言 ...
- spring与struts2整合出现常见错误
错误信息 严重: Exception starting filter struts2 Unable to load configuration. - bean - jar:file:/F:/Strut ...
- sencha toucha获取 constructor中的数据
config:{ tmp:null }, constructor : function(conf) { this.config.tmp=conf; } 添加配置属性,然后直接用 this.config ...
- CSS 属性选择器的深入挖掘
CSS 属性选择器,可以通过已经存在的属性名或属性值匹配元素. 属性选择器是在 CSS2 中引入的并且在 CSS3 中得到了很好拓展.本文将会比较全面的介绍属性选择器,尽可能的去挖掘这个选择器在不同场 ...
- cocos2d-x 学习记录
不积跬步,无以至千里.不积小流,无以成江海. 開始学习cocos2d-x ,路漫漫其修远兮.加油!
- DIY树莓派之随身工具箱
摆弄树莓派有一年多了,在这里把经验分享给大家,少走弯路. 先放图两张. 搭建目的: wifi信号中转站\网站服务器\IC卡渗透测试\中间人\otr… 基于树莓派3 系统为Kali Linux 2017 ...
- 查看网络port占用
Linux和Mac下通用: 1. 利用 netstat 查看网络状态命令: netstat -an|grep port号 2. 利用list open file 命令打开文件(一切都是文件. 包含网 ...
- iOS动画中的物理知识应用之愤慨的小鸟-碰撞检測
碰撞检測 源码:https://github.com/Esdeath/collsion 我相信搞iOS得人.多多少少都知道 弹球这个小游戏. 撞击不同的点,就能改变其运动的轨迹.对于非常多人来说,假设 ...
- C# Winform 运行异常 CefSharp.core.dll 找不到指定的模块
C# Winform开发中使用了CefSharp,之前在VS2012中运行很正常,今天换了一台Windows XP 打开VS2010 运行时,发生异常:System.IO.FileNotFoundEx ...