服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Redis - Redis 缓存如何出错?

Redis 缓存如何出错?

2024-01-18 15:43ByteByteGo Redis

当缓存或数据库中不存在 key 时,就会发生这种情况。应用程序无法从数据库中检索相关数据来更新缓存。这个问题给缓存和数据库都造成了很大的压力。

缓存系统如何出错?

下图显示了缓存可能出错的 4 种典型情况及其解决方案。

Redis 缓存如何出错?

01 雷群问题(Thurder Hurd)

当缓存中的大量 key 同时过期时,就会出现这种情况。然后,查询请求直接冲击数据库,导致数据库超载。

有两种方法可以缓解这一问题:

  1. 避免为 key 设置相同的过期时间,在配置中添加一个随机数;
  2. 只允许核心业务数据访问数据库,而在缓存恢复之前阻止非核心数据访问数据库。

02 缓存渗透(Cache Penetration)

当缓存或数据库中不存在 key 时,就会发生这种情况。应用程序无法从数据库中检索相关数据来更新缓存。这个问题给缓存和数据库都造成了很大的压力。

要解决这个问题,有两种建议。

  1. 为不存在的 key 缓存一个空值,避免对数据库造成冲击。
  2. 使用 bloom 过滤器先检查 key 是否存在,如果 key 不存在,我们就可以避免对数据库的访问。

03 缓存崩溃(Cache Breakdown)

这与雷群问题类似。它发生在热键过期时。大量请求会访问数据库。

解决方案:由于热键占据了 80% 的查询量,我们没有为它们设置过期时间。

04 缓存崩溃(Cache Crash)

当缓存崩溃时,所有请求都会进入数据库。

有两种方法可以解决这个问题。

  1. 设置断路器 (Circuit Breaker),当缓存宕机时,应用服务无法访问缓存或数据库。
  2. 为高速缓存建立一个集群,以提高高速缓存的可用性。

原文地址:https://mp.weixin.qq.com/s/r6sGZLiY3RIjfn-F5tKGBw

延伸 · 阅读

精彩推荐
  • Redis5分钟搭建redis集群(redis5.0.5)

    5分钟搭建redis集群(redis5.0.5)

    本文主要介绍了5分钟搭建redis集群,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    baidu_3855807611292021-09-16
  • Redis基于Redis过期事件实现订单超时取消

    基于Redis过期事件实现订单超时取消

    这篇文章主要介绍了基于Redis过期事件实现订单超时取消,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    WannaRunning12392021-08-03
  • RedisRedis之SDS数据结构的使用

    Redis之SDS数据结构的使用

    本文主要介绍了Redis之SDS数据结构的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小...

    四问四不知4592022-08-08
  • RedisRedis缓存穿透/击穿工具类的封装

    Redis缓存穿透/击穿工具类的封装

    在实际生产环境中,缓存的使用规范也是一直备受重视的,如果使用的不好,很容易就遇到缓存击穿、雪崩等严重异常情景。本文为大家准备了Redis缓存穿...

    知识的搬运工旺仔11782022-07-27
  • Redis解决redis修改requirepass后不生效的问题

    解决redis修改requirepass后不生效的问题

    今天小编就为大家分享一篇解决redis修改requirepass后不生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    wittdong12732019-11-13
  • Redis使用Redis分布式锁可能会出现哪些问题?

    使用Redis分布式锁可能会出现哪些问题?

    今天要和大家聊一个有趣的话题,那就是“腾讯面试题:使用Redis做分布式锁可能会出现哪些问题?”没错,就是腾讯大佬们在面试时经常会问到的一个问...

    今日头条8962023-08-18
  • RedisRedis使用不当造成系统失去响应的Bug排查

    Redis使用不当造成系统失去响应的Bug排查

    开发反应线上系统出现失去响应的现象,收到业务告警以及频繁MarkAndSweep(Full GC)告警。于是找到笔者进行排查。...

    解Bug之路11902021-05-20
  • RedisRedis处理高并发机制原理及实例解析

    Redis处理高并发机制原理及实例解析

    这篇文章主要介绍了Redis处理高并发机制原理及实例解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值析,需要的朋友可...

    WUWANLEI4042020-08-17