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

国内最大ae模板下载网站wordpress中文伪原创

国内最大ae模板下载网站,wordpress中文伪原创,电子计算机哪个专业最吃香,wordpress 佛系汉化组1. 加锁过程 底层命令与数据结构 Redis 数据结构:使用 Hash 结构存储锁信息,Key 为锁名称,Field 为客户端唯一标识(如 UUID 线程ID),Value 为锁的重入次数。 Lua 脚本原子性:通过 Lua 脚本在…

1. 加锁过程

底层命令与数据结构
  • Redis 数据结构:使用 Hash 结构存储锁信息,Key 为锁名称,Field 为客户端唯一标识(如 UUID + 线程ID),Value 为锁的重入次数。

  • Lua 脚本原子性:通过 Lua 脚本在 Redis 中原子性执行加锁逻辑:

    
    if (redis.call('exists', KEYS[1]) == 0) thenredis.call('hincrby', KEYS[1], ARGV[2], 1);redis.call('pexpire', KEYS[1], ARGV[1]);return nil;
    end;
    if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) thenredis.call('hincrby', KEYS[1], ARGV[2], 1);redis.call('pexpire', KEYS[1], ARGV[1]);return nil;
    end;
    return redis.call('pttl', KEYS[1]);
    • 若锁不存在(exists 为 0)或属于当前线程(hexists 为 1),则增加重入次数并刷新过期时间。

    • 若锁被其他线程占用,返回锁的剩余生存时间(TTL)。

可重入性
  • 同一线程多次获取锁时,重入次数递增,确保不会因多次加锁导致死锁。


2. 锁自动续期(Watchdog 机制)

  • 后台线程续期:加锁成功后,启动一个 Watchdog 线程(看门狗),定期(默认每 10 秒)检查锁是否仍被持有。

  • 续期条件:仅当客户端仍持有锁且业务未完成时,通过 pexpire 命令将锁的过期时间重置为初始值(默认 30 秒)。

  • 崩溃容错:若客户端崩溃,Watchdog 线程停止,锁最终因过期自动释放,避免死锁。


3. 释放锁

释放逻辑
  • Lua 脚本原子释放

    if (redis.call('hexists', KEYS[1], ARGV[3]) == 0) thenreturn nil;
    end;
    local counter = redis.call('hincrby', KEYS[1], ARGV[3], -1);
    if (counter > 0) thenredis.call('pexpire', KEYS[1], ARGV[2]);return 0;
    elseredis.call('del', KEYS[1]);redis.call('publish', KEYS[2], ARGV[1]);return 1;
    end;
    return nil;
    • 减少重入次数,若次数归零则删除锁,并通过 Pub/Sub 通知等待线程。

    • 确保只有锁的持有者能释放锁,避免误删。


4. 锁竞争与等待

  • 自旋重试:若锁被占用,客户端进入循环,间隔性尝试加锁。

  • Pub/Sub 订阅通知:通过订阅锁释放事件(redisChannel),避免频繁轮询。当锁释放时,Redis 发布消息通知等待线程竞争锁,减少无效请求。


5. 高可用与容错

Redis 部署模式
  • 单节点模式:简单但存在单点故障风险。

  • 主从/集群模式:使用 RedissonMultiLock 实现 RedLock 算法(需多个独立 Redis 节点):

    1. 向所有节点顺序申请锁。

    2. 当多数节点加锁成功且总耗时小于锁超时时间时,认为加锁成功。

    3. 规避主从切换导致锁丢失的问题,但需权衡性能和一致性。


6. 关键注意事项

  • 业务执行时间:业务逻辑必须在锁的过期时间内完成,否则锁可能提前释放。

  • 时钟同步问题:在 RedLock 中,若 Redis 节点间时钟不同步,可能导致锁失效。

  • 网络延迟:极端情况下,锁可能被多个客户端同时持有(需结合业务幂等性处理)。


总结

Redisson 分布式锁通过 Lua 脚本的原子性可重入设计Watchdog 自动续期和 Pub/Sub 通知机制,实现了高效的分布式锁管理。其核心优势在于:

  • 避免误删锁(仅持有者可释放)。

  • 支持可重入,适应复杂业务逻辑。

  • 自动续期防止业务未完成时锁过期。

  • 通过 RedLock 支持高可用场景,但需谨慎权衡一致性与性能。


文章转载自:

http://XeuRhlG7.jbmsp.cn
http://o03IT8hg.jbmsp.cn
http://03YcrKbd.jbmsp.cn
http://qyRRlrCY.jbmsp.cn
http://X35dMzid.jbmsp.cn
http://5O68wraI.jbmsp.cn
http://2wYIaGY0.jbmsp.cn
http://t2GghLIq.jbmsp.cn
http://rlYdXVlz.jbmsp.cn
http://0UuYTL9r.jbmsp.cn
http://k3f8WpxY.jbmsp.cn
http://MfW9Uypf.jbmsp.cn
http://igX5tltL.jbmsp.cn
http://zab9yg0w.jbmsp.cn
http://6A25w6fl.jbmsp.cn
http://bV0PfV0C.jbmsp.cn
http://ozFeoTr3.jbmsp.cn
http://9SOeQcxk.jbmsp.cn
http://0CT0ifZI.jbmsp.cn
http://eHu6y0JL.jbmsp.cn
http://dexCiPBe.jbmsp.cn
http://3cqIAZ39.jbmsp.cn
http://TKMoY5OP.jbmsp.cn
http://CW4kzfID.jbmsp.cn
http://At975yj8.jbmsp.cn
http://E4ByrfSy.jbmsp.cn
http://6wtQ0G9N.jbmsp.cn
http://xHWf7fje.jbmsp.cn
http://m6yibuL7.jbmsp.cn
http://bnxnaSJa.jbmsp.cn
http://www.dtcms.com/wzjs/753557.html

相关文章:

  • 北京做网站的人装饰公司做网站怎么收费
  • 专业的丹阳网站建设西安做网站公司有哪些?
  • 如何优化wordpressseo优化网站教程百度
  • vue做公司网站wordpress中文页面
  • 网站设计在线精品课程网站建设步骤
  • 郑州网站模板建设怎么用手机做网站教程
  • 自己怎么样做游戏网站预约型网站模板源码
  • 智慧团建系统登录网站网站建设要架服务器
  • 国外比较好的建筑设计网站手工制作灯笼的步骤
  • 大学科技园东区 做网站wordpress批量读取excel
  • 代码需求网站网址你懂我意思吧在线2020
  • 做视频直播的网站有哪些免费网站推广优化
  • 网站制作公司网广西建设网站网址多少
  • 韩国美食做视频网站有哪些东莞网站建设设计
  • 怀化网站优化公司哪家好想要去网站做友情链接怎么发邮件
  • 加速网站的加速器重庆seo排名电话
  • 移动电子商务网站建设企业产品网站模板
  • 网站错误404网站qq未启用
  • 网络营销咨询网站源码中国前十名别墅装修公司
  • 泰安医院网站建设网站建设人员培训
  • 电商网站制作设计财经新闻最新消息
  • 盐城哪家专业做网站做flash网站遇到函数
  • 万峰科技.jsp网站开发四酷全书 m企业网站seo分析
  • 东莞高埗做网站哪个公司好成都网站设计制作
  • 网站开发技术支持与保障换了家公司做网站如何接入备案
  • 网站建设产品图片尺寸要求淘宝页面设计模板
  • 网站的关键词搜索怎么做中山模板网站建设
  • 谁教我做啊谁会做网站啊个人主页源码
  • 苏州模板网站专业设计重庆建设安全管理网
  • 朝西村网站建设公司影响网站排名重要因素