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

网站优化培训学校房价即将迎来大涨

网站优化培训学校,房价即将迎来大涨,在线做头像网站,网站开发模块化分布式锁相关内容 超卖问题切入可以使用互斥锁给先获取到锁的线程加锁吗#xff1f;使用redis分布式锁解决超卖问题setnx命令实现分布式锁为什么需要设置过期时间#xff1f;Redis实现分布式锁如何合理控制锁的有效时长 redisson实现分布式锁 超卖问题切入 我们先来看一个项目… 分布式锁相关内容 超卖问题切入可以使用互斥锁给先获取到锁的线程加锁吗使用redis分布式锁解决超卖问题setnx命令实现分布式锁为什么需要设置过期时间Redis实现分布式锁如何合理控制锁的有效时长 redisson实现分布式锁 超卖问题切入 我们先来看一个项目中的真实的场景 抢卷的场景 咋一看流程好像特别正常但是但是这是一个抢卷的过程疯狂程度可想而知并且线程又是交替进行的可能在线程1刚查询到库存时线程2同时也拿到了库存此时线程1和线程2拿到的库存量是相同的比如都是1但是线程1先进行了-1操作而线程2此时拿到的值仍然是1他并不知道有别的线程已经修改了值为0那么当线程2进行-1操作时就会出现超卖的问题具体的流程图如下 可以使用互斥锁给先获取到锁的线程加锁吗 如果你的项目是一个单体的项目只启动了一个服务那么是完全没问题的具体的流程以及代码可以参考下面 如果我们把项目代码通过nginx反向代理部署到多个服务器上那么这种方案就不行了单个JVM下能保证线程和线程之间的互斥但是多个服务器多个JVM之间是无法互斥的 使用redis分布式锁解决超卖问题 在上面我们讲到多个服务之间我们无法让不同JVM之间的互斥锁产生效果那么我们可以想一下如果我们通过一个媒介在多个服务内只要有线程加到锁了那么就记录一下如果有别的线程再来加锁就能产生互斥的效果了这个媒介就是分布式锁具体的流程可以参考下图 setnx命令实现分布式锁 /** 获取锁 **/ SET lock value NX EX 10 /** 释放锁 **/ DEL key为什么需要设置过期时间 如果不设置过期时间通过setnx命令获取到锁之后在还没释放锁之前如果业务超时或者服务宕机那么就会一直占用着这把锁会出现死锁的问题但是如果设置了过期时间的话当这把锁过期之后就会自动的将锁给释放。 Redis实现分布式锁如何合理控制锁的有效时长 过期时间太长了如果业务代码早早的就执行完了影响整体的效率 过期时间太短了如果业务代码还没执行完就过期了也不行 如果我们自己凭感觉去填一个过期时间其实是非常不靠谱的一件事情那如果我们再开一个线程来监控这把锁呢当锁过期之后给锁续期这个是不是听着就比较靠谱了其实市面上早就已经有了这种技术实现了下面我们就来讲一下redisson redisson实现分布式锁 我们来看一下具体的流程 通过看门狗机制能够实现续期默认是每隔10秒的时间做一次续期而抢不到锁的线程会进行尝试等待进行while循环不断尝试获取锁
http://www.dnsts.com.cn/news/73093.html

相关文章:

  • 罗湖网站定制价格合理的网站建设
  • 宁夏区建设厅网站网站建设推荐信息
  • 西安建设工程交易网站网站开发及设计
  • 网站开发公司比较有名第一ppt官网入口
  • angular2做的网站有wordpress手机端网站模板下载
  • 网站的建设目标文档查询系统入口
  • 兰州网站建设公做网站上海
  • 网站推广的主要方法有哪些?一般网站的优缺点
  • 上海网站建设技术指导公司做包装盒效果图的网站
  • 做网站的流程百科网站空间租用协议
  • 做手机版网站和做app差别北太平桥网站建设
  • 建设银行网站怎么登陆不鞍山做网站公司
  • 沭阳金地建设网站网站icp查询系统
  • 网站开发公司 广告词线上推广方法有哪些
  • iis 多网站资讯网站策划怎么写
  • 做个网站得投入多少网络营销试题库及答案
  • 以net结尾的网站高仿网站源码
  • 经开区网站建设服装网站建设策划书可行性分析
  • 化妆品网站栏目设计wordpress 随机文章
  • 小学校园文化建设网站临沂网站建设和轶件安装
  • 网站接入商查询浙江人才网
  • 之梦与wordpress哪个好用浙江短视频seo优化网站
  • seo 网站淄博做网站建设公司
  • 公司的 SEO与网站建设聊城做网站的公司
  • 用电脑做网站的历史在哪里找长治推广型网站开发
  • 网站开发的软件环境网站建设好后如何连接服务器
  • 咸阳个人兼职网站建设国家建筑标准设计网
  • 网站设计 开发人员商城做网站好还是淘宝
  • 网站需求分析报告二维码生成器表白文字
  • 如何拿高权重网站外链进行互换?做网站的不给源文件