当前位置: 首页 > wzjs >正文

做网站建设销售工资高吗宣传方式

做网站建设销售工资高吗,宣传方式,装饰网站建设,网站建设开发案例教程视频在 Redis 中,Watch Dog(看门狗)机制主要用于实现分布式锁的自动续期(如 Redisson 的 RedLock 实现)。其核心目的是确保当业务逻辑执行时间超过锁的初始过期时间(leaseTime)时,锁不会…

在 Redis 中,Watch Dog(看门狗)机制主要用于实现分布式锁的自动续期(如 Redisson 的 RedLock 实现)。其核心目的是确保当业务逻辑执行时间超过锁的初始过期时间(leaseTime)时,锁不会因过期而被其他线程/进程误获取。以下是 Watch Dog 判断当前线程是否持有锁并进行续租的核心逻辑:


1. 锁的唯一标识符

当线程成功获取锁时,Redis 中存储的锁值(Value)会包含一个 客户端唯一标识符(如 UUID)线程 ID。例如:

SET my_lock "客户端UUID:线程ID" NX PX 30000

这一标识符由客户端生成,确保全局唯一性,并保存在客户端内存中。


2. Watch Dog 的续租条件

Watch Dog 通过以下步骤判断当前线程是否持有锁:

  1. 检查本地锁状态
    客户端在内存中维护锁的持有状态。如果当前线程已释放锁(主动调用 unlock()),Watch Dog 会直接停止续租。

  2. 验证 Redis 中的锁值
    Watch Dog 定期(如每 10 秒)向 Redis 发送一个 原子性 Lua 脚本,执行以下操作:

    if redis.call("GET", KEYS[1]) == ARGV[1] thenredis.call("PEXPIRE", KEYS[1], ARGV[2])return 1
    elsereturn 0
    end
    
    • KEYS[1]:锁的名称(如 my_lock)。
    • ARGV[1]:预期的锁值(客户端 UUID + 线程 ID)。
    • ARGV[2]:新的过期时间(如 30000 毫秒)。

    只有当 Redis 中锁的值与客户端保存的标识符一致时,才会续期锁的过期时间。


3. 关键设计要点

  • 原子性操作
    通过 Lua 脚本确保 “检查锁值”“续期锁” 是原子操作,避免并发问题。

  • 本地状态与 Redis 状态的强一致性

    • 若 Redis 中的锁已被其他客户端抢占(值不匹配),Watch Dog 立即停止续租,客户端会抛出异常通知业务逻辑。
    • 若客户端崩溃,Watch Dog 停止运行,锁最终因过期自动释放,避免死锁。
  • 可重入锁的支持
    如果锁是重入的(同一线程多次获取锁),客户端内部通过计数器跟踪重入次数。Watch Dog 只在锁被完全释放(计数器归零)时停止续租。


4. 流程总结

  1. 客户端获取锁成功后,启动 Watch Dog 定时任务。
  2. Watch Dog 定期检查本地锁状态,若未释放则触发续租。
  3. 通过 Lua 脚本验证 Redis 中的锁值是否仍属于当前线程。
  4. 验证通过则续期锁的过期时间,否则放弃续租并处理锁失效逻辑。

5. 注意事项

  • 网络分区风险
    若客户端与 Redis 发生长时间网络分区,Watch Dog 可能无法续租,锁最终会过期。此时业务需自行处理锁失效后的逻辑(如回滚)。

  • 性能开销
    Watch Dog 的定时续期会增加 Redis 的负载,需合理设置续期间隔(如 Redisson 默认 lockWatchdogTimeout=30秒)。

通过上述机制,Watch Dog 在保证安全性的前提下,实现了分布式锁的自动续期,确保长任务执行期间锁的持有权不被意外释放。

http://www.dtcms.com/wzjs/510293.html

相关文章:

  • 怎么成立网站怎么做网站模板
  • 设计师必备的国际设计网站找关键词
  • 网络认证网站网站首页关键词如何优化
  • 微网站制作湛江seo网站管理
  • 厦门网站建设门户重庆seo推广
  • Wordpress elgg站长seo软件
  • 山东省高中生发展报告在哪个网站做百度收录提交申请网站
  • wordpress科技公司主题武汉建站优化厂家
  • 广东省网站备案查询seo学习
  • 有专业做网站网络营销的背景和意义
  • 网站模板建设报价整合营销包括哪三方面
  • 网站建设公司 武汉口碑营销的主要手段有哪些
  • 洛阳做网站哪家专业沈阳seo优化新势力
  • wordpress 漏洞检测在线看seo网站
  • 济阳县做网站公司免费发广告的网站大全
  • 万网网站域名多少钱一年wordpress网站建设
  • 美食美客网站建设项目规划书外贸营销型网站建设公司
  • 网站 用什么数据库网络公司网络推广服务
  • 小学电教检查网站建设资料营销软文的范文
  • 青海省住房建设厅网站小程序怎么开发
  • 武汉seo网站设计营销团队
  • 织梦cms发布侵权网站清单三只松鼠营销案例分析
  • 长春做网站建设的公司灰色行业seo
  • 中关村手机官网首页seo全称是什么
  • 上饶做网站三只松鼠网络营销案例分析
  • 日本网站赏析郑州seo优化外包热狗网
  • 建设网站需要备案吗百度引流平台
  • seo的关键词无需seo网站seo
  • 吉林智能网站建设找哪家谷歌seo公司
  • 找钟点工做的网站打开百度一下的网址