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

网站节约化建设工程承包公司

网站节约化建设,工程承包公司,做资源网站违法吗,安徽省建设干部学校网站我的博客大纲 我的后端学习大纲 1、问题分析#xff1a; 1.1.问题#xff1a; 1.锁的超时释放#xff0c;可能会释放其他服务器的锁 1.2.场景#xff1a; 1.如果业务逻辑的执行时间是7s。执行流程如下 1.index1业务逻辑没执行完#xff0c;3秒后锁被自动释放。2.index… 我的博客大纲 我的后端学习大纲 1、问题分析 1.1.问题 1.锁的超时释放可能会释放其他服务器的锁 1.2.场景 1.如果业务逻辑的执行时间是7s。执行流程如下 1.index1业务逻辑没执行完3秒后锁被自动释放。2.index2获取到锁执行业务逻辑3秒后锁被自动释放。3.index3获取到锁执行业务逻辑4.index1业务逻辑执行完成开始调用del释放锁这时释放的是index3的锁导致index3的业务只执行1s就被别人释放。最终等于没锁的情况 1.3.解决方式 1.setnx获取锁时设置指定一个的唯一值例如uuid释放前获取这个值判断是否自己的锁 1.4.编码实现 2.新问题改善 2.1.新问题说明 1.上述改善后出现的新问题就是判断与删除条件不再一个命令中操作缺乏原子性 2.2.场景 1.index1执行删除时查询到的lock值确实和uuid相等2.index1执行删除前lock刚好过期时间已到被redis自动释放3.index2获取了lock4.index1执行删除此时会把index2的lock删除 2.3.解决方案 在redis中没有一个命令可以同时做到判断 删除所有只能通过其他方式实现如LUA脚本实现 2.4.LUA脚本解决 1.删除LUA脚本 if redis.call(get, KEYS[1]) ARGV[1] then return redis.call(del, KEYS[1]) else return 0 end2.代码实现 public void deduct() {String uuid UUID.randomUUID().toString();// 加锁setnxwhile (!this.redisTemplate.opsForValue().setIfAbsent(lock, uuid, 3, TimeUnit.SECONDS)) {// 重试循环try {Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}}try {// this.redisTemplate.expire(lock, 3, TimeUnit.SECONDS);// 1. 查询库存信息String stock redisTemplate.opsForValue().get(stock).toString();// 2. 判断库存是否充足if (stock ! null stock.length() ! 0) {Integer st Integer.valueOf(stock);if (st 0) {// 3.扣减库存redisTemplate.opsForValue().set(stock, String.valueOf(--st));}}} finally {// 先判断是否自己的锁再解锁String script if redis.call(get, KEYS[1]) ARGV[1] then return redis.call(del, KEYS[1]) else return 0 end;this.redisTemplate.execute(new DefaultRedisScript(script, Boolean.class), Arrays.asList(lock), uuid);} }2.5.压力测试
http://www.w-s-a.com/news/835152/

相关文章:

  • 长春火车站和高铁站是一个站吗公司名称注册查询系统
  • 便利的集团网站建设网页的依托网站
  • 茶叶网站建设题库制作助手app
  • 网站建设栏目层级北京网站搭建公司电话
  • 网站开发运营经理打开百度竞价页面是网站是什么
  • 国内最专业的设计网站建设现在用什么语言做网站
  • 湖南网站开发 岚鸿象山县建设工程招投标网站
  • 长沙免费网站排名wordpress 教学
  • 专门做app的网站html代码是什么
  • 临沂网站制作建设欧米茄表官网
  • 北京模板网站开发全包网站建设的第三方平台
  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站
  • 怎样建一个自己公司的网站制作网站需要钱吗
  • 联盟网站制作wap网站制作公司
  • 美丽乡村建设发展论坛网站wordpress 仿站 教程网
  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展
  • 有女人和马做网站吗宁波seo优势
  • 网站做用户记录表电商运营推广计划方案
  • 网站备案认领杭州网页设计公司招聘
  • 易签到网站开发设计做网站运营有前途吗
  • 南通网站建设心得2023必考十大时政热点