session转移(使用Filter方式实现用Memcached储存Session)

来源:互联网 发布:youtube 有mac版么 编辑:程序博客网 时间:2024/06/18 10:23

这两天看到了帖子《扩展Tomcat 6.x,使用memcached存放session信息》,挺有意思,以前我也有采用Memcached管理Session的想法,就是一直没有实践,这两天就实践了一下,codeutil提供的采用扩展Tomcat的方式不错,不过我更喜欢用Resin,所以还是实现一个通用的模块吧,大家可以下载附件,里面有整个工程,如果要使用的话,参照web.xml,把Filter加入你自己的项目就可以了,memcached.properties文件是memcached的配置文件,放入你的classes根即可。 

使用过程注意几个问题: 
1、memcache在一定时间内应该足够大,这样不会出现用户session从Cache中被清除的问题。 
2、如果session的读取比写入要多很多,可以在memcache前再加一个Oscache,减少对memcache的读操作,从而减小网络开销,提高性能(这也是codeutil提出的,我自己也实现了,不过没有加入源码,大家可以自己做)。 
3、如果用户非常多,可以使用memcached组,通过set方法中带hashCode,插入到某个memcached服务器 

其实使用memcached做session管理,我认为是把memcached作为一个可以相对持久化的内存工具,大家可以使用测试一下。

 

因为都是从缓存获取session,不是从某个服务端获取session,所以没有转移一说 

 

由上面的代码可知getsession,服务容器会调用容器内部的方法获取客户端的cookieid,然后调用自己的getsession对比(服务器自己会做的工作),这段代码里面利用这个特性复写让复写后的getsession等来自于缓存这样只要缓存同步一致对比肯定通过,这样就绕过了对比机制,后面就放行了(所以复制过来的session不必同步到新的服务上)

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电三轮电机坏了怎么办 电动车钢圈撞变形了怎么办 电动车后轮钢圈变形了怎么办 软油管接头渗油怎么办 一只单眼皮一只双眼皮怎么办 儿童轻轻泥干了怎么办 5d轻轻泥干了怎么办 手机炉石一直闪退怎么办 鸟之羽任务失败怎么办 巫师3没血没药怎么办 荣威rx5灯光不亮怎么办 点滴打没了回血怎么办 加了低标号的油怎么办 别克车钥匙丢了怎么办 霜子哀伤断了怎么办 侧车窗外有雨水怎么办 昂科威15t变速箱异响怎么办 别克昂科拉一公里9毛怎么办? 雷诺科雷傲车钥匙丢了怎么办 奥迪a6l烧机油了怎么办 卡地亚手镯刮花怎么办 卡地亚戒指花了怎么办 手表摔了不走了怎么办 ck手表表扣很难打开怎么办 小天才泡了水怎么办 小天才手表掉水里了怎么办 小天才电话手表进水了怎么办 小天才手表进水了怎么办 小天才电话手表丢了怎么办 小天才电话手表黑屏怎么办 安全守护注册码忘记了怎么办 儿童安全锁的门打不开怎么办 守护宝老年机打不开了怎么办 小米电话手表坏了怎么办 小米手表带坏了怎么办 小米电话手表屏幕坏了怎么办 雷诺梅甘娜06款系统错乱怎么办 轿车碰了一个坑怎么办 车子卖了没过户怎么办 9岁儿童肠胃痉挛怎么办 鹿角胶水放多了怎么办