Redis 由浅入深 (5) - Redis 旁路方案 - 从RedisSession热切换到StandardSession

本文介绍了Redis旁路设计的原因和方案,包括应用缓存旁路和应用session旁路。当Redis出现问题时,可以通过try-catch结合熔断和本地缓存来确保系统的正常运行。在session旁路中,讨论了冷切换和热切换的实现,特别是热切换过程中SessionRepositoryFilter的重写或反射替换。同时,文章也提出了在集群模式下切换到Tomcat StandardSession可能导致的会话问题及其解决方案,如IP hash。虽然旁路方案不常见,但在特定情况下如网络中断时,仍具有一定价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

Redis旁路设计说明

Redis的旁路设计是指Redis在宕机之后或者网络不通的情况下,应用系统能够正常的访问,做出正确的缓存方案切换,一般指切换到应用缓存。不会造成系统不可访问的情况。但从redis集群的设计运维来说,redis肯定要保持高可用的,换句话说是在redis服务层面去做高可用,而不是应用层面去找替代方案。比如:redis挂了之后 80% ~ 90%是因为高并发或者是大对象缓存导致阻塞、连接满了,或者是主从复制内存耗尽。假如说这种情况出现,就算应用和数据库的配置不错也是顶不住的。所以说一般情况下使用Redis高可用集群是不需要做redis的旁路设计的,如果redis不能访问是要直接做熔断设计的。

为什么需要旁路

可是有些情况,比如说手动重启redis/磁盘满了(redis和其他服务在一起),(普通应用redis服务挂的概率低到可以忽略不计)这时候需要重启redis。但是服务不能停且服务没有多少人访问的情况下进行切换到JVM缓存。还有种情况下是redis挂了之后能快速恢复,系统需要稍微顶一下。

当然还有一种情况是系统硬性需要做旁路设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

澄风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值