-
查询数据 缓存中有,从缓存中返回
-
缓存中没有,从数据库中查找,数据库中命中结果 ,将查询到的数据保存到缓存中
-
缓存中没有,从数据库中查找,数据库中也没有 , 不在缓存中保存key (被恶意访问时,容易发生缓存击穿)
-
通常即使不存在这个key,也会在缓存中保存,只是设置的key的过期时间较短 (setex(key, 5s, "");
-
还有一种,有一个热点key(经常被访问),如果这个key在redis中过期了,大量的访问突然访问数据库,导致数据库压力增加
Redis的缓存雪崩
-
一大批数据,集中创建缓存,缓存集中过期,造成一定时间内,数据库访问压力突然增大
-
缓存服务节点宕机, 缓存集中失效,导致数据库访问压力突然增加
Redis的缓存淘汰
-
主要说的是,针对访问频率不同的数据要设置不多的key的过期时间