缓存击穿中的二次判断

使用分布式锁解决缓存击穿时 可以使用二次判锁来提高性能 :

POV :当热Key大量失效 大量线程请求redis未命中 开始打入数据库 此时就需要加锁来阻塞请求

等redis缓存重构重构后再请求

二次判断提高性能的针对目标就是在线程1重构过程中打入的请求

第二次判断是二次判断的核心 ++可以让在过程中的请求不需要再次查询数据库得到数据++

++而是直接获得刚刚重构好的缓存数据++

++补充:++

Redisson的lock锁不是基于synchronize锁实现的 (我有这种想法也是二B 就是为了解决分布式问题所以才引入的redisson) 而是基于redis的setnx实现的 如果获取锁失败也会阻塞

相关推荐
力江6 小时前
FastAPI 最佳架构实践,从混乱到优雅的进化之路
python·缓存·架构·单元测试·fastapi·分页·企业
屋外雨大,惊蛰出没7 小时前
小白安装Redis
数据库·redis·缓存
Maiko Star10 小时前
基于Redis ZSet实现多维度题目贡献度排行榜
数据库·redis·缓存
pingcode13 小时前
IDEA清除缓存
缓存·intellij-idea
不会写程序的未来程序员14 小时前
Redis 缓存
数据库·redis·缓存
脸大是真的好~14 小时前
黑马消息队列-rabbitMQ2-生产者重连机制-生产者确认机制-数据持久化-LazyQueue-消费者确认机制-失败重试机制-重试耗尽告警手动处理-
java·缓存·中间件
源代码•宸1 天前
分布式缓存-GO(分布式算法之一致性哈希、缓存对外服务化)
开发语言·经验分享·分布式·后端·算法·缓存·golang
code bean1 天前
【CMake】为什么需要清理 CMake 缓存文件?深入理解 CMake 生成器切换机制
java·spring·缓存
武子康1 天前
Java-193 Spymemcached 深入解析:线程模型、Sharding 与序列化实践全拆解
java·开发语言·redis·缓存·系统架构·memcached·guava
xinyu_Jina1 天前
动态媒体资源解析器:PWA、离线缓存与用户数据隐私的架构设计
缓存·媒体