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

网站管理系统开发的网软志成学校网站管理系统官方商业正式版

网站管理系统开发的,网软志成学校网站管理系统官方商业正式版,如何快速构建一个网站,广州宣布5条优化措施我的博客大纲 我的后端学习大纲 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.hkea.cn/news/14438374/

相关文章:

  • 深圳网站设计建设公司娄底高端网站建设
  • 福州建网站哪家好外贸网页制作公司
  • 水墨风格的网站能不能模仿百度一样做搜索引擎网站
  • 龙华网站建设胶州城乡建设局网站
  • 做精神科医院网站费用网站上人家做的简历
  • 怎样做网站教程搜索引擎排名优化价格
  • 欧美在线网站设计教程宣威做网站推广的公司
  • 网站如何添加百度统计怎样做php网站
  • 禹城网站建设东莞网站建设做网站
  • 做电商设计有什么好的网站推荐宜都网站建设
  • 龙岩公司做网站百度个人中心登录
  • 单位网站建设自查报告范文全自动三次元网站建设
  • 石家庄自己怎么做网站啊精品课程网站设计与实现开题报告
  • 仿站软件网站开发logo
  • 广东制冷设备网站建设费用只做男士衬衫的网站
  • 搭网站可以用自己电脑做服务器吗北京东城区 网站建设
  • 网站开发系统是什么网站设计前景
  • 信息技术 网站建设教案wordpress滑动相册
  • 加快公司网站建设武陵天下网站建设
  • 天猫商城网站风格南宁手机建站公司
  • 网站建设培训 店wordpress nginx伪静态
  • 自考在线做试卷的网站注册局官网
  • 淘宝不能发布网站源码做商品学做淘宝店的网站
  • 龙岗网站制作设计费用
  • 南宁希噢网站开发工作室聊城找个人做网站
  • 中企动力做网站怎么样北京 工业网站建设公司
  • 校园图书回收网站建设展示型网站制作公司
  • 合肥昱天建设有限公司网站常州网站价格
  • 建设网站的流程图乐清做网站的公司有哪些
  • 买了一个域名怎么做网站wordpress无法创建配置文件