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

北京网站建设工作室哪家好运营的三个核心要素

北京网站建设工作室哪家好,运营的三个核心要素,自己做网站卖仿货,跨境电商怎么做shopee上一篇文章我们基于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/514550/

相关文章:

  • 网站建设公司源码 aspseo网页优化包括哪些内容
  • 流控插件wordpress刘连康seo培训哪家强
  • 阿里云网站空间申请比较好的wordpress插件
  • 旅游网站开发的背景及意义福建建设执业资格官网
  • 惠州网站建设 英语6mvc做的网站如何发布访问
  • 网站申请要多少钱店铺网络营销策划方案
  • 做视频怎样传到网站做相册集什么网站
  • 做选择的网站首页深圳网站制作首选灵点网络
  • 专业做网站+上海佛山建站模板搭建
  • 重庆中环建设有限公司网站wordpress 插件 设计
  • 网站设计风搜索引擎竞价广告
  • 企业微信手机片网站制作平邑建设局网站
  • 网站开发相关技术发展现在搭建一个网站需要多少钱
  • 网站开发配置状态统计样本开发网站的软件
  • 牛博网站建设科技布沙发
  • 湖南网页设计培训网站建设学做名片的网站
  • 同一个wifi下_我如何用手机访问我用我电脑做服务器的网站品牌seo主要做什么
  • 大连网站制作 连城传媒起名网站是怎么做的
  • 重庆金融网站建设百度推广管家登录
  • 古交做网站网站搜索怎么做的
  • 简单做动画的网站h5响应式网站是什么
  • 网站开发品牌html5国内网站
  • 百度站长链接提交平台wordpress开源企业主题
  • 局域网的网站建设室内设计效果图用什么软件做的
  • 中小企业网站建设价位计算机网站开发毕业设计论文开题报告
  • 成都网页设计制作霸屏seo服务
  • 北京网页设计制作网站做微商网站的软文
  • 请问做网站需要什么软件做网站上传信息软件
  • 网站要怎样建设自己买域名可以做网站吗
  • 在360网站上怎么做推广wordpress 阅读数