avatar
文章
100
标签
32
分类
5
首页
页面
  • 归档
  • 标签
  • 分类
  • 图库
  • 说说
  • 示例
文档
  • 🚀 快速开始
  • 📑 主题页面
  • 🛠 主题配置
  • ⚔️ 标签外挂
  • ❓ 主题问答
  • ⚡️ 进阶教程
  • ✨ 更新日志
留言板
语言
  • English
  • 中文
彬子的Blog
搜索
首页
页面
  • 归档
  • 标签
  • 分类
  • 图库
  • 说说
  • 示例
文档
  • 🚀 快速开始
  • 📑 主题页面
  • 🛠 主题配置
  • ⚔️ 标签外挂
  • ❓ 主题问答
  • ⚡️ 进阶教程
  • ✨ 更新日志
留言板
语言
  • English
  • 中文

分布式锁

Redis分布式锁redisson看门狗机制
发表于2025-11-14|数据库
Redis分布式锁方案 使用 Redis 的 SET key value NX EX实现分布式锁时,主要问题是锁过期时间不好设置:如果设置过短,业务未完成锁就过期;设置过长,会降低系统并发度。为此可以使用 Redisson 封装的分布式锁,它内部通过「看门狗机制」自动续期锁(默认锁 30 秒,每 10 秒续期一次),同时通过 Lua 脚本保证加解锁的原子性,从而确保分布式环境下的并发安全。 Redisson分布式锁自动续约机制(看门狗) 线程1尝试tryLock锁未指定锁的过期时间 获取成功后会自动启动看门狗机制 初始加锁: ​ 当调用 lock() 时,Redisson 会通过 Lua 脚本向 Redis 发送加锁命令,设置锁的初始过期时间为 LockWatchdogTimeout(默认 30 秒)。 ​ 锁的数据结构为 Hash,键为锁名称,field 为线程 ID,value 为重入次数。 启动定时任务: ​ 加锁成功后,Redisson 会启动一个后台定时任务(通过 Netty 的 HashedWheelTimer 实现),每隔 10 秒执行一次。 ...
1
avatar
彬子
biny
文章
100
标签
32
分类
5
Follow Me
公告
This is my Blog
最新文章
MySQL的锁2026-01-01
垃圾收集器(CMS-G1-ZGC)与垃圾回收算法
垃圾收集器(CMS-G1-ZGC)与垃圾回收算法2025-12-30
类加载机制与类加载器
类加载机制与类加载器2025-12-28
MySQL的MVCC
MySQL的MVCC2025-12-27
SpringMVC执行流程2025-12-25
分类
  • Java10
  • 数据库10
  • 算法80
    • 模板2
    • 题解75
标签
JavaIO集合并发JVM垃圾收集MySQL索引HashMap事务MVCC锁Redis分布式锁Redisson网络模型IO多路复用过期策略淘汰策略数据结构SpringIOCDI缓存数据同步垃圾收集器垃圾回收算法VolatileSpringMVC执行流程类加载性能优化
归档
  • 2026年01月 1
  • 2025年12月 9
  • 2025年11月 8
  • 2025年10月 2
  • 2025年05月 1
  • 2025年03月 21
  • 2025年02月 15
  • 2025年01月 13
网站信息
文章数目 :
100
运行时间 :
本站总字数 :
58.8k
最后更新时间 :
©2019 - 2026 By 彬子
框架 Hexo|主题 Butterfly
搜索
数据加载中