tomcat8 redis session共享

备注:项目需要由原本的单机扩容到多机服务,历史原因项目里使用session传参的地方比较多。每一处去修改session,改动量较大,回归测试麻烦,也太耗时间,于是想到用redis存储session的方案。主要是使用了开源方案:redisson
github地址:
redisson.conf 文件配置:

使用方法:
第一步:下载对应的jdk、tomcat版本jar包,一共两个,我下载的是jdk8和tomcat8的:redisson-all-3.7.0.jar、redisson-tomcat-8-3.7.0.jar
第二步:将下载好的jar包上传到tomcat的lib目录下: /usr/local/src/tomcat8/lib

第三步:在/usr/local/src/tomcat8/conf/context.xml 配置redisson.conf 文件目录
<Context>

<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->

<!--
<Manager className="org.redisson.tomcat.RedissonSessionManager"
configPath="${catalina.base}/redisson.conf" readMode="MEMORY" updateMode="DEFAULT"/>
-->
<Manager className="org.redisson.tomcat.RedissonSessionManager"
configPath="${catalina.base}/redisson.conf" readMode=" REDIS " updateMode="DEFAULT"/>
</Context>

备注:配置属性里的readMode和updateMode需要注意(选用redis存储session时,需要将readMode改为REDIS):

readMode - read attributes mode. Two modes are available:

  • MEMORY - read attributes stored in local Tomcat Session. Default mode.
  • REDIS - read directly from Redis.

updateMode - attributes update mode. Two modes are available:

  • DEFAULT - session attributes are stored into Redis only through setAttribute method. Default mode.
  • AFTER_REQUEST - all session attributes are stored into Redis after each request.
第四步:配置redisson需要的数据信息(参考redisson的wiki文档,我使用的单节点模式,找到相应的配置内容):
vi /usr/local/src/tomcat8/redisson.conf (context.xml里配置的 catalina.base 是tomcat的根目录)
{
"singleServerConfig":{
"idleConnectionTimeout":10000,
"pingTimeout":1000,
"connectTimeout":10000,
"timeout":3000,
"retryAttempts":3,
"retryInterval":1500,
"password":"368902***********************62",
"subscriptionsPerConnection":5,
"clientName":null,
"address": "redis://127.0.0.1:6379",
"subscriptionConnectionMinimumIdleSize":1,
"subscriptionConnectionPoolSize":50,
"connectionMinimumIdleSize":32,
"connectionPoolSize":64,
"database":0,
"dnsMonitoringInterval":5000
},
"threads":0,
"nettyThreads":0,
"codec":{
"class":"org.redisson.codec.JsonJacksonCodec"
},
"transportMode":"NIO"
}
第五步:重启tomcat后就可以看到redis里有redisson为key的session缓存数据了
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/597340

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。