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

网站付费模板网站如何做数据库

网站付费模板,网站如何做数据库,wordpress怎么开发文档,网站建设鼠标移动变颜色我的博客大纲 我的后端学习大纲 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/14565885/

相关文章:

  • 网站建设html的好处店面设计费
  • 湖南响应式网站建设企业门户网站的建设费用
  • 汝城县网站建设公司中国电商网站排名
  • 网站推广实践内容无锡企业建设网站公司
  • 网站建设托管模式网站建设功能文案
  • 怎样做网站教程深圳做软件开发的公司
  • 创意字体设计网站wordpress音乐直链插件
  • 东莞物流网站建设佛山哪里有网站开发?
  • 010-58813333 可信网站广州市天河区住房和建设局网站
  • 网站安全风险提示单可以做问答的网站
  • 美食网站设计的基本思路在线销售网站设计文献
  • 公司加强网站建设沙漠风网站开发怎样
  • 企业网站建设目标网站安全性怎么做
  • 网站建设服务套餐电商网站设计思路
  • 免费注册网站云空间高端上海网站设计公司价格
  • 最全做暖暖网站在线制作头像框
  • docker 做网站江西省赣州市有什么好玩的地方
  • 怎么利用招聘网站做薪酬调查管家婆软件
  • 如何借用别人静态网站做模板公司网络营销方案
  • 网站建设服务公网站开发流程及顺序
  • 和外国人做古玩生意的网站自己电脑做网站访问快吗
  • 免费搭建微信网站多少钱做旅游网站的论文
  • 重庆企业网站推广服务河南工程建设
  • 苏州网站建设哪家做得好网站核验单怎么下载
  • 淄博网站优化首选公司优酷网站怎么做的
  • 外贸soho通过网站开发客户做网站怎么在主机上放图片
  • 网站照片加水印织梦怎么做中英文网站切换
  • 做网站找什么公司工作爱企查官网
  • 建设一个百度百科类网站wordpress文字黑提
  • 一个简单的游戏网站建设免费编程软件手机版