1 缓存击穿
1.1 缓存击穿的定义
给某一个key设置了过期时间,当key过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把DB压垮。
缓存击穿问题也叫热点key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。

1.2 解决方案
1.2.1 方案一:互斥锁

保证了数据的强一致性,但性能会差。
1.2.2 方案二:逻辑过期
①在设置key的时候,设置一个过期时间字段,一起存入缓存中,注意不给当前key设置TTL过期时间;

②当查询的时候,从redis取出数据后判断时间是否过期;
③如果过期则开通另外一个线程进行数据同步,当前线程正常返回数据,但这个数据不是最新的;

保证了高可用性,性能优,但不能保证数据的绝对一致。

最低0.47元/天 解锁文章
1136

被折叠的 条评论
为什么被折叠?



