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

天河公司网站建设公司网站开发开账务处理

天河公司网站建设公司,网站开发开账务处理,易语言做网站,赤峰网站设计上一篇文章我们基于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/667651/

相关文章:

  • 免费个人网站模版下载wordpress 插件 破解
  • 花瓣网网站模板事业单位考试网站
  • 自己做网站要钱么河间网站建设公司
  • 网站建设三种方法wordpress地产
  • 网站怎么做图片福州城市建设规划网站
  • 网站建设 项目背景网站建设什么时候好
  • 单位网站建设必要性上海app开发技术公司
  • 网站做分享链接温州专业微网站制作公司
  • 可以做产品设计网站上海怎么做seo推广
  • 网站目录结构设计应注意的问题广州网站建设便宜
  • 专业轻电商网站建设公司华为云建站视频教程
  • 南昌那个公司做网站好wordpress登录修改
  • 网站栏目建设图折扣手游平台app排行榜
  • 网站开发用用什么语言最好pc网站建设哪个好
  • 企业网站设计seo微信开发小程序教程
  • 上海企业建站咨询服务器cpu天梯图
  • 工作室网站建设的意义天津宁河区建设网站
  • 梅州网站建设wlwl抖音宣传推广
  • 网页设计与网站建设教学视频wordpress网银插件下载
  • 网站开发行业怎么样网站一般用什么工具做
  • 谷歌seo网站推广怎么做做医疗器械网站怎么找高清大图
  • 手机建站免费百度指数在哪里看
  • 炉石做任务抽奖网站网站开发设计比赛
  • wordpress 3.5 漏洞seo外链论坛
  • 油画网站模板页面跳转的两种方式
  • 男周志做网站网站建设认知与理解
  • 上海免费做网站网站设计有限公司
  • 怎么用cms做网站淘宝优惠券网站建设教程
  • 做出口网站2022新闻热点10条
  • 六色网站怎么做网站dns加速