传统项目基于tomcat cookie单体会话升级分布式会话解决方案

传统捞项目基于servlet容器 cookie单体会话改造分布式会话方案

##引入redis,spring-session依赖

java 复制代码
<!--redis依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-data-redis</artifactId>
    </dependency>

##修改配置文件

java 复制代码
spring:
  application:
    name: hnmop-consumer
  session:
    timeout: 3600
    store-type: redis
    redis:
      namespace: yym:session
  redis:
    lettuce:
      pool:
        max-idle: 50
        min-idle: 10
        max-wait: 300
        max-active: 25
    timeout: 30000
    cluster:
      nodes:
        - 192.168.3.156:6379
        - 192.168.3.156:6380
        - 192.168.3.156:6381
        - 192.168.3.156:6382
        - 192.168.3.156:6383
        - 192.168.3.156:6384
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
#        - redis-service.hdsst-ns.svc.cluster.local:6379
    password: 123456
    database: 0

##启动类加入EnableRedisHttpSession注解

复制代码
@EnableRedisHttpSession(redisNamespace = "yym:session", maxInactiveIntervalInSeconds = 3600)

##原理

##spring自动配置spring.factories

##生成SessionRepositoryFilter过滤器对象

##使用包装的SessionRepositoryRequestWrapper的request SessionRepositoryResponseWrapper的response

相关推荐
什巳16 分钟前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
豆瓣鸡24 分钟前
RocketMQ学习-Spring Boot消息实践
java·spring boot·rocketmq
罗超驿1 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
栈溢出了2 小时前
Redis 分片集群与哈希槽笔记
java·redis·笔记·spring
遨游DATA2 小时前
Spring Boot 启动失败排查:如何区分多 Bean 冲突与清理阶段异常
java·spring boot·后端
wabs6663 小时前
关于单调栈【力扣739.每日温度的思考】
java·开发语言
雪碧聊技术3 小时前
为什么要学函数式编程?
java·函数式编程
aaPIXa6224 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
2601_949817725 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
va学弟5 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言