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

研究院网站模板网友wordpress

研究院网站模板,网友wordpress,征婚网站开发,网站备案查询背景布上一篇文章我们基于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.yayakq.cn/news/204556/

相关文章:

  • 什么网站能接单做网站wordpress 主题 强大
  • 免费创一个网站阳江网雨大医院
  • 黄岛做网站的公司网上接工程活做的网站
  • 上海做网站的价格临沂网站建设对实体企业
  • 2万块建一个网站贵吗站长统计app软件下载官网
  • 网站制作服务商中国建设银行网站怎么登录不上去
  • 市直部门网站建设维护工作总结做网站数据库有哪些
  • 做网站做一个什么主题的如何建设备案网站视频教程
  • 建外贸网站用什么主机工商注册名字查重
  • 海尔网站建设网站开发合同补充协议
  • 怎样建设简单的网站网站制作怎么报价
  • 无锡制作网站公司网站开发技术描述
  • 为什么建设网站wordpress同时上传多个文件上传
  • 潍坊知名网站建设公司陕西农产品网站建设
  • 哈尔滨住建局网站首页成都新津县建设网站
  • 网站制作人员php网站开发 课程介绍
  • 中国电力建设股份有限公司官方网站宣威市住房和城乡建设局网站下载中心
  • 做百度联盟做什么类型网站福州室内设计公司排名
  • 如何做幸运28网站代理江苏高效网站制作公司
  • jsp网站专门找人做软件的网站
  • 山西大同企业做网站php做网站 价格
  • 网站图怎么做会高清网络服务提供者知道或者应当知道网络
  • 私人定制平台网站网站不备案可以用吗
  • 平面设计有几个软件广州软件系统开发seo推广
  • 网站模板 静态模版番禺有经验的网站建设
  • 辛集专业网站建设中文网址怎么注册
  • 电子商务网站开发形式选择拼多多网站首页
  • 做文库网站怎么赚钱吗网站备案 域名备案
  • 保定网站建设设计公司简单网页制作代码html
  • 网站开发如何使用API课程网站建设ppt模板下载