📄️ 如何解决缓存击穿?
缓存击穿指在高并发的系统中,一个热点数据缓存过期或者在缓存中不存在,导致大量并发请求直接访问数据库,从而给数据库造成巨大压力,甚至可能引起宕机。具体来说,当某个热点数据在缓存中过期时,如果此时有大量并发请求同时访问这个数据,由于缓存中不存在,所有请求都会直接访问数据库,导致数据库负载急剧增加。
📄️ 如何解决缓存穿透?
缓存穿透是指由于请求没有办法命中缓冲,因此就会直接打到数据库,当请求量较大时,大量的请求就可能会直接把数据库打挂。通常情况下,缓存是为了提高数据访问速度,避免频繁查询数据库。但如果攻击者故意请求缓存中不存在的数据,就会导致缓存不命 中,请求直接访问数据库。
📄️ 如何解决缓存雪崩?
缓存雪崩是应用系统指在某个时间点上,缓存中的大部分数据同时失效,导致大量的请求直接访问底层数据库或后端服务,从而造成数据库负载剧增,甚至导致数据库崩溃的情况。通常情况下,缓存中的数据会设置不同的过期时间,以避免同时失效的情况。然而,如果某个不可控的事件导致了大量缓存同时失效,就会出现缓存雪崩。