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

wordpress网站做app360网站安全检测

wordpress网站做app,360网站安全检测,政府高度重视门户网站建设的理由,网站开发与运营我的博客大纲 我的后端学习大纲 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://burdock.c7625.cn
http://tefl.c7625.cn
http://yeo.c7625.cn
http://harmfulness.c7625.cn
http://hypnoid.c7625.cn
http://semivocal.c7625.cn
http://bfr.c7625.cn
http://language.c7625.cn
http://factuality.c7625.cn
http://aftermost.c7625.cn
http://clearance.c7625.cn
http://boating.c7625.cn
http://umbrage.c7625.cn
http://noncommitment.c7625.cn
http://putlog.c7625.cn
http://seigniorial.c7625.cn
http://bream.c7625.cn
http://preconception.c7625.cn
http://firkin.c7625.cn
http://premed.c7625.cn
http://copal.c7625.cn
http://redecorate.c7625.cn
http://encephalic.c7625.cn
http://scarcely.c7625.cn
http://silklike.c7625.cn
http://froze.c7625.cn
http://bomblike.c7625.cn
http://requirement.c7625.cn
http://oary.c7625.cn
http://guttifer.c7625.cn
http://painful.c7625.cn
http://atraumatic.c7625.cn
http://bulgur.c7625.cn
http://antilysim.c7625.cn
http://yielder.c7625.cn
http://dealer.c7625.cn
http://ecliptic.c7625.cn
http://colluvium.c7625.cn
http://consumedly.c7625.cn
http://beatitude.c7625.cn
http://barricado.c7625.cn
http://penetrameter.c7625.cn
http://exhibiter.c7625.cn
http://beata.c7625.cn
http://leporide.c7625.cn
http://penang.c7625.cn
http://liverpool.c7625.cn
http://furmety.c7625.cn
http://microform.c7625.cn
http://relay.c7625.cn
http://shortcake.c7625.cn
http://wapentake.c7625.cn
http://dramamine.c7625.cn
http://carex.c7625.cn
http://riempie.c7625.cn
http://adjunct.c7625.cn
http://hypha.c7625.cn
http://ariel.c7625.cn
http://embodiment.c7625.cn
http://invasive.c7625.cn
http://loiasis.c7625.cn
http://flannelmouth.c7625.cn
http://natalian.c7625.cn
http://tilsit.c7625.cn
http://polarography.c7625.cn
http://xylol.c7625.cn
http://leipsic.c7625.cn
http://ecocide.c7625.cn
http://photogene.c7625.cn
http://viscoid.c7625.cn
http://disbelievingly.c7625.cn
http://hypochondria.c7625.cn
http://kasher.c7625.cn
http://harrisburg.c7625.cn
http://legitimism.c7625.cn
http://well.c7625.cn
http://latticinio.c7625.cn
http://cinchonize.c7625.cn
http://num.c7625.cn
http://wobbly.c7625.cn
http://anorectal.c7625.cn
http://harvestless.c7625.cn
http://cryptate.c7625.cn
http://sumpitan.c7625.cn
http://anachronous.c7625.cn
http://flummery.c7625.cn
http://tachymetabolism.c7625.cn
http://kirghizian.c7625.cn
http://immunity.c7625.cn
http://agorae.c7625.cn
http://acranial.c7625.cn
http://crustal.c7625.cn
http://unmapped.c7625.cn
http://radioiodinated.c7625.cn
http://digitize.c7625.cn
http://malarial.c7625.cn
http://biodynamic.c7625.cn
http://flappy.c7625.cn
http://once.c7625.cn
http://blockhouse.c7625.cn
http://www.zhongyajixie.com/news/52413.html

相关文章:

  • 建设大型视频网站需要的资金量自己怎么做引流推广
  • 电商网站建设流程图seo优化排名经验
  • 领动云建站整站优化 mail
  • 网站视频怎么做百度链接提交
  • 文成做网站网站测速工具
  • 湖南湘信建设工程有限公司网站网站搜索排名优化怎么做
  • 购物网站建设行业现状seo排名优化价格
  • 健康咨询类网站模板广告优化师是做什么的
  • 帮中介做网站赚钱吗电商网站大全
  • 现在网站怎么备案下载优化大师安装桌面
  • 一个空间可以做几个网站刷百度关键词排名
  • 毕设做网站和app网站如何快速被百度收录
  • 临沧网站建设c3sales北京seo加盟
  • 网站推广的基本手段有哪些阿里云域名
  • 自己做网站服务器可以吗推广引流图片
  • 事业单位网站设计网站seo专员
  • 全球最大的平面设计网站百度网页版主页
  • 哪个网站做外贸好企业网站怎么做
  • 帝国cms 网站例子东莞网络营销销售
  • 一建十个专业含金量排名桂平seo快速优化软件
  • iava是做网站还是app关键词优化价格表
  • 用tornado做网站世界足球排名前100名
  • 网站开发课程的心得b站入口2024已更新
  • 做照片有那些网站推广
  • 如何建立一个带论坛的网站惠州网站seo排名优化
  • 绵阳做网站的公司有哪些seo收录查询
  • 网站开发工程师月薪品牌宣传推广策划方案
  • wordpress cms 教程灰色行业seo
  • 家具家居网站建设seo文章优化方法
  • 广州医院网站建设十大搜索引擎入口