缓存击穿是指一个非常热点的数据在缓存中过期之后,正好在这个时间段内有大量的请求访问该数据,这些请求会直接穿透到数据库中,从而引起数据库的压力过大。解决缓存击穿的常用方法有两种:
1、设置热点数据永不过期:将热点数据设置为永不过期,从而避免缓存失效的问题,但是这种方法存在一个明显的缺点就是热点数据可能会被修改,如果不及时更新缓存,可能会导致缓存中的数据与实际数据不一致。
2、延迟缓存双写策略:在缓存中查询数据时,如果数据不存在,不立即去数据库中查询,而是先在缓存中写入一个空对象,然后再去数据库中查询数据并更新缓存,从而避免了缓存击穿的问题。