缓存击穿
某个key过期了,但是对该key的大量请求被转发到查询数据库去了。
解决方法:设置key不过期;或者加访问互斥锁;
缓存穿透
某个key不存在缓存中,所有请求被转发到数据库去查询,然而数据库也没有该key对应的数据。
解决办法:不存在的key也保存到缓存中,并设个过期时间。应用层校验key的合法性;
缓存雪崩
多个key同时过期了,导致对这些key的查询请求被大量转发到了数据库去查询;
解决办法:key的过期时间尽量随机错开设置,或者设置为不过期,或者分布式部署缓存数据库;