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

可以注册邮箱的网站seo全称

可以注册邮箱的网站,seo全称,如何建设公众平台网站,wordpress 提供了 支持我的博客大纲 我的后端学习大纲 1、问题分析: 1.1.问题: 1.锁的超时释放,可能会释放其他服务器的锁 1.2.场景: 1.如果业务逻辑的执行时间是7s。执行流程如下 1.index1业务逻辑没执行完,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获取了lock
  • 4.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 end
  • 2.代码实现:
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/785990/

相关文章:

  • 找考卷做要去哪个网站中国国家培训网官网查询
  • 软件系统开发的大概步骤优化网站标题名词解释
  • 院校网站建设模板建站平台
  • 淘宝网站内搜索引擎优化怎么做广告推广平台网站有哪些
  • 大片播放网站国外免费推广网站有哪些
  • flash网站cms排名sem优化软件
  • 申请完域名怎么做网站百度链接提交
  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台
  • b2c网站综合对比评价站长统计幸福宝
  • 网站建设意见做推广app赚钱的项目
  • 哈尔滨营销网站制作做外贸推广
  • 深圳网站建设外贸公司排名搜索热词排名
  • 网络科技公司招聘可靠吗seo多久可以学会
  • 企业网站建设的方案ppt网络营销的特点主要包括什么
  • 如何自行建设网站推广关键词优化
  • 建设学院网站百度收录关键词查询
  • 有关外贸的网站有哪些内容武汉抖音seo搜索
  • 娄底网站建设的话术深圳网站关键词排名优化
  • 福田大型商城网站建设seo营销方法
  • 网站开发专业就业指导企业网站设计与实现论文
  • 网络营销方式的思维导图seo关键词优化系统
  • wordpress访客ip记录福清市百度seo