Redis 同步、击穿、穿透及雪崩简述
2024-10-21
37
对Redis最常见的几个问题,简要的说下我的理解与解决方法。
数据同步
指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。
一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。
缓存击穿
指在高并发应用场景下,已经缓存的热点Key突然失效,特别是多个热点Key同时失败,大量请求瞬间穿过Redis缓存, 一并到达数据库,对数据库形成巨大的压力甚至瘫痪数据库。
解决方案:1、热点数据不过期或设置很长的过期时间 2、缓存重建时,加互斥锁等防止多次重建或死锁
缓存穿透
指恶意用户,大请求量、高并发的请求缓存和数据库都不存在的数据(比如根据已知Id进行联想、猜测。
解决方案:1、缓存空值 2、使用布隆过滤器(推荐的)
缓存雪崩
指大量缓存热点key同时失效,大量请求瞬间到达数据库,造成数据库巨大压力或瘫痪。
解决方案:1、缓存预热 2、给每个热点缓存key附加一个较短的随机过期时间,不让多个热点同时失效;3、 Redis服务器,做成集群,提高性能和可用性 4、Redis服务使用Docker、云服务等,具备动态扩容、弹性服务等。
更新于:1个月前赞一波!
相关文章
- 宝塔里redis停止了自动启用脚本
- C# .NET Core中Microsoft.Extensions.Caching.Redis库用法
- Redis 可视化管理工具
- windows 安装 redis 详细步骤
- redis 的 string 数据类型
- windows 下 PHP 的 redis 扩展安装
- Redis 简介
- Centos7 安装 Redis 6.0.8 遇坑记(Redis 编译安装)
- Centos7安装Redis教程
- Windows下Redis的安装使用教程
- Memcached,Redis,MongoDB的区别
- Redis要收费了有什么平替产品?
- 微软开源缓存存储系统Garnet平替Redis
- 深入了解Redis:高性能的内存数据库
- token+redis和Jwt怎么选?
- 20万QPS如何利用Redis实现高效、稳定、安全的存储
- Redis缓存击穿原因和防范措施
- 浅析Java与Redis的集成应用:基础存取操作实例分享
- Redis和Memcached的区别 如何选择
- redis和mongodb的区别?
文章评论
评论问答