Redis的缓存击穿及解决方案
缓存击穿指的是缓存中没有数据但数据库中有数据(一般是热点数据缓存时间到期),同一时间大量的并发请求由于读缓存没读到数据,就去数据库去取数据,导致某个时间内数据库压力剧增,导致崩溃。缓存击穿的解决方案:1.设置热点数据永远不过期(可以判断当前key快要过期时,通过后台异步线程在重新构建缓存)2.接口限流与熔断,降级。重要的接口一定要做好限流策略,防止用户恶意刷接口,同时要降级准备,当接口中的某些服务不可用时候,进行熔断,失败快速返回机制。3.设置互斥锁。在并发的多个请求中,只有第一个请求线