欢迎来到天天文库
浏览记录
ID:28389613
大小:78.50 KB
页数:4页
时间:2018-12-09
《分布式环境下session的存储的几个解决方案-已发布》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、分布式环境下session的存储的几个解决方案企业级应用系统很少是部署在单台服务器上的,这样就带来了跨服务器如何进行session共享的问题,笔者提供了两种方案,分别适用于两种不同场合,持久化session适合于高可靠性的环境,性能上可能有所损坏,而基于memcache的解决方案相对来说性能较好,但一旦memcache重启,数据丢失。分布式session之持久化以mysql举例L建立数据库Sql代码☆1.createdatabasesession_persistenee;2.2.usesession_persist
2、ence;4.3.createtablesession(4.sessionjdvarchar(lOO)NOTNULL,5.valid_sessionchar(l)NOTNULL,6.max_inactiveint(ll)NOTNULL,7.Iast_accessbigint(20)NOTNULL,8.app_namevarchar(255)DEFAULTNULL,9.session_datamediumblob,10.primarykey(session」d),11.KEYkapp_name(app_name)1.
3、)engine=InnoDBdefaultcharset=utf8;注:表的字段必须和下面的配置对应2.酉己置tomcat白勺contextxmlXml代码☆1.4、n-ln4.maxIdleBackup="-l"maxinactivelnterval二sessionCounter=H-l">5.5.5、二"com.mysqljdbc.Driver”sessionAppCol=Happ_name"9.sessionDataCol二”session_data"sessionldCol二"sessionicf1.sessionLastAccessedCol="last_access"sessionMaxInactiveCol=nmaxJnactive1'2.sessionTable="session”sessionValidCol=uvalid_sessionM/>3.参数与数据库字段对应3.在to6、mcat的lib目录下导入mysql驱动jar分布式缓存session以memcache举例笔者使用googlecode下面的memcached-sessioager来实现分布式环境下session的缓存,经笔者测试性能还不错。当然,读者可以按照类似思路自己实现。memcached-session・manager项目地址:http://code.google.eom/p/memcached-sessioager/笔者使用kryo来做对象序列化。1.WEB-INF下面需要引入kryo-l.04-all.jarkryo7、-serializers・0.9.jarmsm・kryo・serializer.l.5.0.jar2.tomcat的lib下面引入memcached-2.5.jarmemcached-sessionnager-1.5.0・jarmemcached-session-manager・tc6・1.5.0.jar1.context.xml的context标签下面加入:Xml代码☆1.vManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"8、2.memcachedNodes="nl:127.0.0.1:11211"sticky=nfalse"lockingMode="auto"3.requestUrilgnorePattern二“・*.(png9、gifUpg10、cssljs)$”4.sessionBackupAsync=,,false"sessionBackupTimeout="0,,5.mem
4、n-ln4.maxIdleBackup="-l"maxinactivelnterval二sessionCounter=H-l">5.5.5、二"com.mysqljdbc.Driver”sessionAppCol=Happ_name"9.sessionDataCol二”session_data"sessionldCol二"sessionicf1.sessionLastAccessedCol="last_access"sessionMaxInactiveCol=nmaxJnactive1'2.sessionTable="session”sessionValidCol=uvalid_sessionM/>3.参数与数据库字段对应3.在to6、mcat的lib目录下导入mysql驱动jar分布式缓存session以memcache举例笔者使用googlecode下面的memcached-sessioager来实现分布式环境下session的缓存,经笔者测试性能还不错。当然,读者可以按照类似思路自己实现。memcached-session・manager项目地址:http://code.google.eom/p/memcached-sessioager/笔者使用kryo来做对象序列化。1.WEB-INF下面需要引入kryo-l.04-all.jarkryo7、-serializers・0.9.jarmsm・kryo・serializer.l.5.0.jar2.tomcat的lib下面引入memcached-2.5.jarmemcached-sessionnager-1.5.0・jarmemcached-session-manager・tc6・1.5.0.jar1.context.xml的context标签下面加入:Xml代码☆1.vManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"8、2.memcachedNodes="nl:127.0.0.1:11211"sticky=nfalse"lockingMode="auto"3.requestUrilgnorePattern二“・*.(png9、gifUpg10、cssljs)$”4.sessionBackupAsync=,,false"sessionBackupTimeout="0,,5.mem
5、二"com.mysqljdbc.Driver”sessionAppCol=Happ_name"9.sessionDataCol二”session_data"sessionldCol二"sessionicf1.sessionLastAccessedCol="last_access"sessionMaxInactiveCol=nmaxJnactive1'2.sessionTable="session”sessionValidCol=uvalid_sessionM/>3.参数与数据库字段对应3.在to
6、mcat的lib目录下导入mysql驱动jar分布式缓存session以memcache举例笔者使用googlecode下面的memcached-sessioager来实现分布式环境下session的缓存,经笔者测试性能还不错。当然,读者可以按照类似思路自己实现。memcached-session・manager项目地址:http://code.google.eom/p/memcached-sessioager/笔者使用kryo来做对象序列化。1.WEB-INF下面需要引入kryo-l.04-all.jarkryo
7、-serializers・0.9.jarmsm・kryo・serializer.l.5.0.jar2.tomcat的lib下面引入memcached-2.5.jarmemcached-sessionnager-1.5.0・jarmemcached-session-manager・tc6・1.5.0.jar1.context.xml的context标签下面加入:Xml代码☆1.vManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
8、2.memcachedNodes="nl:127.0.0.1:11211"sticky=nfalse"lockingMode="auto"3.requestUrilgnorePattern二“・*.(png
9、gifUpg
10、cssljs)$”4.sessionBackupAsync=,,false"sessionBackupTimeout="0,,5.mem
此文档下载收益归作者所有