缓存击穿、缓存穿透、缓存雪崩

缓存击穿

某个key过期了,但是对该key的大量请求被转发到查询数据库去了。

解决方法:设置key不过期;或者加访问互斥锁;

缓存穿透

某个key不存在缓存中,所有请求被转发到数据库去查询,然而数据库也没有该key对应的数据。

解决办法:不存在的key也保存到缓存中,并设个过期时间。应用层校验key的合法性;

缓存雪崩

多个key同时过期了,导致对这些key的查询请求被大量转发到了数据库去查询;

解决办法:key的过期时间尽量随机错开设置,或者设置为不过期,或者分布式部署缓存数据库;

posted @ 2020-10-10 00:43  gitfong  阅读(112)  评论(0编辑  收藏  举报