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

做网站白云东莞网络推广优化排名

做网站白云,东莞网络推广优化排名,英文b2c网站,东莞有哪些做网站上一篇文章我们基于redis的set nx ex 命令以及Lua脚本实现了基本的分布式锁,但是还存在一下几点问题。于是又引出了redisson。 为什么基于SETNX的分布式锁无法实现可重入 先在method1中获取锁,获取成功后又调用method2,而method2内部也会获取…

 上一篇文章我们基于redis的set nx ex 命令以及Lua脚本实现了基本的分布式锁,但是还存在一下几点问题。于是又引出了redisson。

 为什么基于SETNX的分布式锁无法实现可重入

先在method1中获取锁,获取成功后又调用method2,而method2内部也会获取锁。因为我们是基于setnx实现的分布式锁所以当method1获取锁成功后redis中已经存在了对应的key 所以method2无法获取锁

 实现可重入锁(用Lua脚本)

用hash结构代替string结构,同一个线程内多次获取锁时只需要将value值+1就可以,释放锁时判断value是否为0然后-1因为获取锁和释放锁都是成对出现的,所以当value为0时表示已经是最外层的锁了,没有其它业务要执行了此时就可以把这个锁删除

redisson可重入锁源码 

 最终也是通过Lua脚本保证获取锁操作的原子性先判断锁是否存在或者是不是自己的,如果锁不存在就获取成功并且value=1;如果锁存在并且是自己的就将value+2=1然后返回nil,其余都返回剩余过期时间,如果你什么参数都不传,默认的过期时间是30s

http://www.khdw.cn/news/13576.html

相关文章:

  • 三亚做网站口碑营销经典案例
  • 做网站项目需求分析是什么域名查询工具
  • 好看的网站后台模板百度游戏排行榜风云榜
  • 销售公司怎么做网站html网页制作步骤
  • wordpress 全站 下载百度快快速排名
  • 上海集团网站建设百度电脑网页版
  • 手机网站会员中心模板下载深圳债务优化公司
  • 抖音官方网站在线客服网站关键词查询
  • vps一定要Wordpress吗长沙靠谱seo优化价格
  • 泊头做网站电话东莞企业网站设计公司
  • wordpress 网站的占有手机百度搜索引擎入口
  • 建设网站的技术手段长沙做网站推广
  • 东莞建网站公司动销售推广的方法都有哪些
  • 学会建网站如何做网络营销微信营销工具
  • 建设网站前端江北seo页面优化公司
  • 网站制作的论文福州seo推广服务
  • 杭州高端网站建设公司哪家好搜索引擎查关键词排名的软件
  • wordpress反爬虫济宁seo优化公司
  • 腾讯云如何创建网站最近新闻热点事件
  • 技能网站建设项目需求福州百度推广排名
  • 企点qq售卖平台搜索引擎排名优化技术
  • 专业网站开发哪家专业今日时政新闻热点
  • 成都设计公司视频制作企业seo排名有 名
  • 司法行政网站建设目的个人免费网站申请注册
  • 做网站需要硬件设施网店运营是做什么的
  • 网站设计经典案例欣赏免费发广告的平台有哪些
  • 网站无法访问山东网站建设
  • wordpress怎么兼容浏览器中国seo高手排行榜
  • 怎么用自己笔记本建设网站网站seo推广招聘
  • centos7怎么做网站服务器宝塔建站系统