0
点赞
收藏
分享

微信扫一扫

redis缓存穿透雪崩击穿


1.缓存穿透

        查询1条记录--->redis--->存在--->返回

        查询1条记录--->redis--->不存在--->数据库--->redis--->返回

       穿透:

        同时查询1000000条不存在的记录--->redis--->不存在--->数据库超载 

        解决方案:

                数据不存在记录也缓存到redis,并设置过期时间

2.缓存雪崩

            1.redis服务器宕机,所有请求直接到数据库

            2.批量数据的key同时失效

            解决方案:限流(点对---》key同时失效)

3.缓存击穿

        1.查询--->redis--->不存在--->数据库--->存在--->返回   

         击穿:

         批量同时查询同一记录--->  redis--->不存在--->批量请求数据库(过载)

        解决方案:

         加互斥锁---> :同一记录,只请求数据库一次,返回给redis,后面的批量请求从redis取数据

  

举报

相关推荐

0 条评论