关于缓存击穿详细介绍与解决方案
什么是缓存击穿:
正常设计流程 请求–>数据校验—>redis有数据返回,没有—>db;
但是如果我们系统的并发很高,在某个时间节点,突然缓存失效,这时候有大量的请求打过来那么由于redis没有缓存数据,这时候我们的请求会全部去查一遍数据库,这时候我们的数据库服务会面临非常大的风险,要么连接被占满要么其他业务不可用这种情况就是redis的缓存击穿。
怎么解决呢:
其实解决方式有很多种,可以参考分布式锁概念来做,那么这里引入一个redis 的setnx来实现
以上是逻辑思路!