在java web环境中一般都会有回话session存储登陆信息和用户信息,在负载均衡的时候都要处理这些回话信息,以前处理方式都会用同步套件的方式来处理,后来为了规避这个问题,直接session外置处理,就是直接在外置缓存或数据库中存储,在页面里面就不用tomcat的session,在业务上定义一个缓存对象作为session.但是基于既有的系统改造,或者是使用了一些登陆或权限认证的框架的系统之后再想做多借点负载均衡的话,就需要改造很多代码甚至架构。其实tomcat提供了session外置的方案,放入mc或redis.比如要放入redis:
tomcat7作为例子来说:
根据官方提供的文档
https://github.com/jcoleman/tomcat-redis-session-manager
有这么段话
Copy the following files into the TOMCAT_BASE/lib directory:
tomcat-redis-session-manager-VERSION.jar
jedis-2.5.2.jar
commons-pool2-2.2.jar
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost" <!-- optional: defaults to "localhost" -->
port="6379" <!-- optional: defaults to "6379" -->
database="0" <!-- optional: defaults to "0" -->
maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) -->
sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional -->
sentinelMaster="SentinelMasterName" <!-- optional -->
sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />
tomcat7启动之后一定会报错的,后来改成jedis-2.2.jar和commons-pool-1.6.jar之后就不报错,注意上面那个xml文档中说可以放在server.xml,但是我试了是报错的,还是老实的加入到context.xml中。
还有这种方式,tomcat接入的redis只能配置一个节点,可以修改下源代码,实现多节点。
- 大小: 46.9 KB
分享到:
相关推荐
本文件包经过本人亲测能用,支持nginx1.8.1和tomcat7.0.63和Redis-x64-3.2.100版, 包含tomcat集群redis会话共享的依赖jar包,包含有2.1.0和2.7.2两个版本... tomcat-redis-session.jar 和tomcat的context.xml配置文件
tomcat session共享 redis
tomcat-redis-session-manager-jre7-tomcat6.jar smartcard中的代码需要修改,redis放值时不能为空 //保存sysOrg中工号所属地市区县 Struts2Utils.getSession().setAttribute(Constants.JCFX_CITY, orgList.get...
使用说明:请严格按照资源内的readme文档来说明部署,不要搞错版本,完美支持Tomcat8和Tomcat9等新版本Tomcat,仅支持JDK8以上版本JDK。
tomcat7 + redis单点 session共享 jar 提供支持tomcat7 + redis单点 实现session共享的jar资源
nignx 进行负载后session失效的完美解决,亲测可用
tomcat8 redis session共享,提供commons-pool2-2.3.jar,jedis-2.7.2.jar和修改后的tomcat-redis-session-manager-master-2.0.0.jar及部署文档
将session存入redis,好比session入库技术一样,修改句柄
使用redis实现集群登录,将session存入redis,一个方法类,直接配置即可使用
tomcat session托管redis
tomcat-redis-session-tomcat tomcat无缝集成redis实现tomcat集群session管理,包含以下jar包:tomcat-redis-session-manager-VERSION.jar jedis-2.5.2.jar commons-pool2-2.2.jar
因tomcat7使用redis共享session,其他的包存在问题,自己编译后处理通过。 该包是在https://github.com/jcoleman/tomcat-redis-session-manager 将源码编译后的包。
基于 Redis 的Tomcat Session共享。 对Git项目tomcat-redis-session-manager 做了简单修改。 使用方法,可以参考博客: http://blog.csdn.net/catoop/article/details/48603891
Tomcat7+Redis存储Session的案例,下载即可使用。学习使用
这个包里含有commons-pool2-2.4.2、jedis-2.9.0、tomcat85-session-redis-1.0三个主要JAR包。apache-tomcat-8.5.20.tar.gz源码包和context.xml文件,这套配置是我自己亲测可用的。。另外我用的redis4这个版本。注意...
【tomcat6使用redis配置session共享】
配置tomcat+redis,将session存到redis,实现多个tomcat session共享
◦用法实例,修改tomcat的conf文件夹里面的context.xml,在标签内加上以下配置: <Manager className="com.sophy.tomcat8rediscluster.RedisSessionManager" host="127.0.0.1" port="6379" database="0" ...
tomcat 集群 nginx 使用redis 保证session同步
tomcat7+redis集群 session共享jar 提供支持tomcat7 + redis单点 集群 实现session共享的jar资源