博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot使用redis解决session双机问题
阅读量:2065 次
发布时间:2019-04-29

本文共 1402 字,大约阅读时间需要 4 分钟。

session双机问题在分布式系统中经常会遇到,也有挺多解决方案,列举几种:

1. 使用缓存(如redis)来解决

① 可以自己重写session管理类,自己对session进行管理,这可能会比较麻烦一点,因为要考虑session续期问题,考虑不周全可能会有一些问题

② 如果你使用spring boot,那么你有福了,spring boot有现成的解决方案,O(∩_∩)O~

2.session同步,这个不是本文重点就不说了

本文主要介绍一下spring boot 使用redis解决session双机问题的实现,非常简单。

1. 环境

基于spring boot的项目

2.配置实现 

2.1 首先肯定要添加依赖,要引入spring boot  redis的包

org.springframework.boot
spring-boot-starter-data-redis

2.2 配置application文件

# Redis数据库索引(默认为0)

spring.redis.database=0
# Redis服务器地址
spring.redis.host=***************
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池中的最大空闲连接,默认值也是8。
spring.redis.pool.max-idle=500
#连接池中的最小空闲连接,默认值也是0。
spring.redis.pool.min-idle=50
# 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
spring.redis.pool.max-active=2000
# 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException
spring.redis.pool.max-wait=1000
# 连接超时时间(毫秒)
spring.redis.timeout=0

2.4 写个redis session管理类

@Configuration//启用spring boot redis session,并设置session过期时间为两小时@EnableRedisHttpSession(maxInactiveIntervalInSeconds= 7200,redisNamespace = "tl")public class RedisSessionConfig {}

使用注解即可: 可以在开启session的同时设置session过期时间,单位为秒

@EnableRedisHttpSession(maxInactiveIntervalInSeconds= 7200,redisNamespace = "tl")

2.3 session使用

使用方式跟正常使用没有任何区别

request.getSession().setAttribute("user", user);

 

over, 配置很简单吧,而且也不用考虑session的续期问题。

 

转载地址:http://wjwmf.baihongyu.com/

你可能感兴趣的文章
KubeSphere 团队(青云QingCloud) 全职开源职位等你加入!
查看>>
真棒!3 种方法限制 Pod 磁盘容量,瞬间豁然开朗
查看>>
高并发、高可用、高可靠微服务架构7大顶级设计思维模型
查看>>
如何使用 registry 存储的特性
查看>>
凉了,stress 无论如何也无法打满 CPU
查看>>
除了 k8s,留给 k 和 s 中间的数字不多了!
查看>>
使用 wrk 压测并精细控制并发请求量
查看>>
Ceph 故障排查笔记 | 万字经验总结
查看>>
使用 Go 从零开始实现 CNI 可还行?
查看>>
KubeSphere 3.1.0 GA:混合多云走向边缘,让应用无处不在
查看>>
Containerd 1.5 发布:重磅支持 docker-compose!
查看>>
基于 Kubernetes 的 Spring Could 微服务 CI/CD 实践
查看>>
5.15 相约上海!2021 年度首届云原生 Meetup | KubeSphere & Friends
查看>>
使用 Cilium 作为网络插件部署 K8s + KubeSphere
查看>>
万变不离其宗,性能优化也有章可循
查看>>
别再乱用 Prometheus 联邦了,分享一个 Prometheus 高可用新方案
查看>>
Litmus 实践:让群魔在混沌中乱舞,看 K8s 能撑到何时
查看>>
Prometheus 存储层的演进
查看>>
Kubernetes 边缘节点抓不到监控指标?试试这个方法!
查看>>
不对全文内容进行索引的 Loki 到底优秀在哪里
查看>>