Redis 高并发,给你分享前百度技术总监教了我些什么

目前后端用的缓存,主流的有Redis,对于高并发的系统,实际上会遇到以下的几个问题:
(前提是一般的业务代码中,缓存空则去请求数据库)
1、缓存雪崩现象:由于访问了没有缓存,或者已经过期的KEY,导致大量请求到达数据库
2、缓存击穿:单个KEY的高并发访问,高负载导致命中丢失,大量并发查询到达数据库

so,如何设计
  • 针对第一个问题,围绕着解决缓存为空的空窗期,有两种方案:
    一、读写分离。业务代码只负责读,定时脚本负责写


    Redis 高并发,给你分享前百度技术总监教了我些什么_第1张图片

二、设置两个过期时间,一个是业务逻辑上的过期时间,另一个是相对滞后的实际过期时间,在两个时间点之间,对缓存进行更新


Redis 高并发,给你分享前百度技术总监教了我些什么_第2张图片
  • 针对第二个问题,把单KEY节点的负载访问,随机分散到几个缓存副本节点中。更新的时候,缓存副本全部同步更新。


    Redis 高并发,给你分享前百度技术总监教了我些什么_第3张图片

以上。

你可能感兴趣的:(Redis 高并发,给你分享前百度技术总监教了我些什么)