Posts /

Redis学习(四)

18 Aug 2020

Redis学习(四)


常问问题

1. 缓存穿透

概念:(恶意访问不存在的key)

简单来说就是当缓存无法命中的时候去持久化数据库查找数据。发现持久化数据库也没有该数据。当有很多用户并发查询该数据的时候,缓存都没有命中,于是都请求持久化数据库,给持久化数据库造成很大的压力。这就是缓存穿透。

解决方案:对key的合法性进行校验,不合法的直接返回。

2. 缓存击穿

概念:(热点key)

一个key是一个非常热的点,访问的用户非常多,在缓存失效的瞬间,持续的大并发,导致直接请求数据库。增加业务数据库压力。

3. 缓存雪崩

概念:

缓存雪崩是指,缓存层出现了错误,不能正常工作了。于是所有的请求都会达到存储层,存储层的调用量会暴增,造成存储层也会挂掉的情况。

解决方案:

Redis高可用

限流降级,通过加锁或者队列来控制读写。

数据预热

参考:

redis缓存与数据一致性