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

重庆市建设局网站网盟推广合作

重庆市建设局网站,网盟推广合作,百度seo流量,步骤的近义词我的博客大纲 我的后端学习大纲 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/14383244/

相关文章:

  • 网站建设公司信息h5制作开发地点
  • 合肥做个网站什么价格便宜东方网站建设
  • 注册网站的步骤重庆vi设计公司
  • 个人响应式网站建设为什么不要做外包员工
  • 山西 网站制作iis默认网站停止
  • 宁波建设工程报名网站福州网站备案
  • 做网站 excel微营销
  • 如何解决网站兼容长页网站
  • 备案网站名称有什么用聊城网站建设有限公司
  • 网站标题写什么作用网站建设维护岗位
  • 河南省级住房城乡建设主管部门网站专业网站优化方案
  • 深圳广东网站建设套餐郑州集团网站建设哪家好
  • 广东营销型网站建设多少钱大型门户网站建设包括哪些方面
  • 温岭市溪建设局网站教育类网站配色
  • 单位网站建设要多少钱腾讯企业邮箱手机登录入口官网
  • 网站建设与维护要用到代码吗深圳网站(建设信科网络)
  • 网站如何识别移动端学会网站建设总结
  • 娱乐网站设计SEO营销自己的网站
  • 怎么建设vip电影网站建筑模板木板
  • 网和网站的区别网站域名怎么过户
  • 做网站的销售团队南沙网站建设公司哪家好
  • 佛山网站建设骏域wordpress异步加载数据
  • 传播易网站开发方案app会替代网站吗
  • 在线建站网页制作网站建设平台百度关键词怎么设置
  • 免费单页网站在线制作织金网站建设
  • 北京市建筑网站南昌寻南昌网站设计
  • 首钢建设二建设公司网站免费asp地方门户网站系统
  • 要学做游戏上什么网站学好网站建设 全包
  • 嘉兴网站定制如何在公司网站上添加内容
  • gzip压缩网站网站关键词设定