文档章节

Tomcat7 Redis Session 共享

明天以后
 明天以后
发布于 2016/08/22 10:43
字数 307
阅读 120
收藏 6

关于负载均衡,导致需要实现Session共享。大概有两个解决办法:

  • Nginx里面是有 ip_hash。但是同一局域网发出的请求,通常会是相同的IP地址。
  • 实现不同实例之间Session共享

Tomcat Session 共享

https://github.com/jcoleman/tomcat-redis-session-manager

配置

  1. Tomcat配置 context.xml
<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 --> />
  1. 将以下jar包,放到 Tomcat 下面的 lib文件夹
  • tomcat-redis-session-manager-VERSION.jar
  • jedis-2.5.2.jar
  • commons-pool2-2.2.jar

构建 tomcat-redis-session-manager

另外两个包比较容易找到。下面自己构建(之前网上找到都会报错)

  1. 克隆仓库
git clone git@github.com:jcoleman/tomcat-redis-session-manager.git
  1. 修改配置文件
# vim ~/tomcat-redis-session-manager/build.gradle
# 增加 49, 注释57-59
 47 signing {
 48   sign configurations.archives
 49   required = false
 50 }
 51
 52 uploadArchives {
 53   repositories {
 54     mavenDeployer {
 55       beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
 56
 57       //repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
 58       //  authentication(userName: sonatypeUsername, password: sonatypePassword)
 59       //}
 60       //repository(url: "https://oss.sonatype.org/content/repositories/snapshots") {
 61       //  authentication(userName: sonatypeUsername, password: sonatypePassword)
 62       //}
  1. 构建
gradle build --stacktrace
  1. 得到jar包
build
├── libs
│   ├── tomcat-redis-session-manager-2.0.0-javadoc.jar
│   ├── tomcat-redis-session-manager-2.0.0-sources.jar
│   └── tomcat-redis-session-manager-2.0.0.jar

© 著作权归作者所有

明天以后

明天以后

粉丝 76
博文 130
码字总数 87367
作品 0
昌平
程序员
私信 提问
tomcat7配合redis实现session共享

1.安装redis,比较简单可以查看下面博客 2.在本机上配置两个Tomcat,分别为tomcat7-8081、tomcat7-8082。 编制两个index.jsp页面,分别放入tomcat7-8081webappsROOT、tomcat7-8082webappsRO...

baijun530
2018/06/26
0
0
nginx+tomcat+redis

项目用 nginx+tomcat+redis 去做session共享 奇怪的是redis保存tomcat传过来session ,默认60秒就过期了 之后会存储新的session值 大家有遇到这种情况吗 用的 tomcat7 centos6.5 redis2.8.1...

一个人眺望碧海和蓝天
2016/03/19
416
2
redis缓存服务器(Nginx+Tomcat+redis+MySQL实现session会话共享

一、redis介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型...

腿毛的忧伤
2018/06/26
0
0
在Apache Tomcat 7设置redis作为session store

redis已经有组件支持直接在tomcat7中设置下将redis作为tomcat默认的session存储器,下面介绍下配置过程 1.从http://redis.io/下载redis,按照redis服务端 ? 2.启动redis ? 3.从http://tomcat...

蓝狐乐队
2014/05/22
150
0
tomcat redis session共享(包含redis安全设置)

一、redis安装(我的环境centos6.5) 已安装可以跳过 1、下载:http://download.redis.io/releases/redis-2.8.19.tar.gz 2、编译源程序: 解压:tar zxvf redis-2.8.19.tar.gz tar zxvf red...

1066897515
2017/02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
80
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部