使用分布式锁解决缓存击穿时 可以使用二次判锁来提高性能 :
POV :当热Key大量失效 大量线程请求redis未命中 开始打入数据库 此时就需要加锁来阻塞请求
等redis缓存重构重构后再请求
二次判断提高性能的针对目标就是在线程1重构过程中打入的请求
第二次判断是二次判断的核心 ++可以让在过程中的请求不需要再次查询数据库得到数据++
++而是直接获得刚刚重构好的缓存数据++
++补充:++
Redisson的lock锁不是基于synchronize锁实现的 (我有这种想法也是二B 就是为了解决分布式问题所以才引入的redisson) 而是基于redis的setnx实现的 如果获取锁失败也会阻塞