首页 > 数据库 >分布式session之tomcat+redis

分布式session之tomcat+redis

时间:2023-02-20 19:05:01浏览次数:35  
标签:tomcat redis jar jetty session 26379

实现原理:分布式系统将session存储到redis中,读取也从redis中读取。

分布式session之tomcat+redis_tomcat

将实现包和依赖包commons-pool2-2.3.jar、jedis-2.7.2.jar、tomcat8_redis_session-0.0.1-SNAPSHOT.jar拷贝到tomcat的lib下

新增tomcat context.xml配置

<Valve className="com.demo.redis_session.RedisSessionHandlerValve" />
<Manager className="com.demo.redis_session.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="60" />

集群配置方案(哨兵):

< Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
sentinelMaster="mymaster"
sentinels=":26379,:26379,:26379"
maxInactiveInterval="60"/>

优缺点:
(1) 方便,但是与tomcat容器重耦合,如果我要将web容器迁移到jetty中,难道要重新把jetty配置一遍吗?
(2) 使用 session 的代码,跟以前一样,还是基于 tomcat 原生的 session 支持即可,然后就是用一个叫做 Tomcat RedisSessionManager 的东西,让所有我们部署的 tomcat 都将 session 数据存储到 redis 即可。

标签:tomcat,redis,jar,jetty,session,26379
From: https://blog.51cto.com/u_15973676/6069318

相关文章

  • 分布式session之Spring session+redis
    给Springsession配置基于redis来存储session数据,然后配置了一个Springsession的过滤器,这样的话,session相关操作都会交给Springsession来管了,接着在代码中,就用原生的s......
  • 生产环境中redis是怎么部署的?
    你的redis是不是主从架构?集群架构?用了哪种集群方案?有没有用高可用保证?有没有开启持久化机制确保可以进行数据恢复?线上redis给几个G的内存?设置了哪些参数?压测后你们redis......
  • 分布式锁用 Redis 还是 Zookeeper?
    为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景:系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查......
  • redis集群模式
    以前的redis要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有codis、twemproxy,有一些redis中间件,你读写redis中间件,redis中间件负责将你的数据分布......
  • redis的雪崩和穿透
    一、缓存雪崩缓存挂了以后,大量请求拖垮后面的数据库。如何解决缓存雪崩?1、事前redis高可用,主从+哨兵,rediscluster,避免全盘崩溃2、事中本地ehcache缓存+hystr......
  • redis的并发竞争问题
    第一种方案:分布式锁1.整体技术方案这种情况,主要是准备一个分布式锁,大家去抢锁,抢到锁就做set操作。2.为什么是分布式锁?因为传统的加锁的做法(如java的synchronized和l......
  • redis中热点数据及大value处理
    1.redis的热点数据是什么,可能出现什么问题?某个key的访问频率很高,当一个key的qps到达1000的时候就需要关注了。redis中数据分布在集群的不同节点上,当某个key的qps过高,容......
  • 客户端跟redis的一次通信流程
    1.在redis启动初始化的时候,redis会将连接应答处理器跟AE_READABLE事件关联起来,接着如果一个客户端跟redis发起连接,此时会产生一个AE_READABLE事件,然后由连接应答处理......
  • Memcached与Redis有什么区别
    Redis和Memcached都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务,其本质上就是一个内存key-value数据库。Redis是一个开源的key-value存储系统。与......
  • 关于存入sessionStorage中boolean值拿出来为字符串
      上面是html部分,然后定义了变量   定义方法      在mounted中获取,然后刷新页面,打印类型为字符串      解决办法 ......