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

有了域名空间怎么做网站成都软件培训机构排名榜

有了域名空间怎么做网站,成都软件培训机构排名榜,网站建设制作设计公司佛山,在线设计平台的设计理念接着上一节#xff0c;我们遇到了超卖的问题#xff0c;并通过Redis实现分布式锁#xff0c;进行了解决。本节 我将换一种方式实现分布式锁。 前提#xff1a; nginx、redis、nacos 模块1#xff1a; provider-and-consumer 端口 8023 模块2 rabbitmq-consumer 端口 8021 … 接着上一节我们遇到了超卖的问题并通过Redis实现分布式锁进行了解决。本节 我将换一种方式实现分布式锁。 前提 nginx、redis、nacos 模块1 provider-and-consumer 端口 8023 模块2 rabbitmq-consumer 端口 8021 添加依赖 dependencygroupIdorg.redisson/groupIdartifactIdredisson/artifactIdversion3.15.6/version /dependency业务代码 模块1代码 RedisTestController.java package com.atguigu.gulimall.providerconsumer.controller;import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.UUID; import java.util.concurrent.TimeUnit;/*** author: jd* create: 2024-07-08*/ RestController RequestMapping(/test) Slf4j public class RedisTestController {Autowiredprivate StringRedisTemplate stringRedisTemplate;Autowiredprivate RedissonClient redissonClient;GetMapping(/RedissonLock)public String deductStockByRedisson(){//写死一个固定商品ID作为我们被秒杀的商品String lockKeylock:product:102;//获取锁对象RLock lock redissonClient.getLock(lockKey);//加锁使用lock方法锁将会自动续命lock.lock();try{//获取当前库存String stock1 stringRedisTemplate.opsForValue().get(stock);if(stock1null){System.out.println(秒杀未开始,请等开始后操作下单);return end;}int stock Integer.parseInt(stringRedisTemplate.opsForValue().get(stock));if(stock0){// 扣减库存int realStock stock - 1;// 更新库存stringRedisTemplate.opsForValue().set(stock, realStock );System.out.println(扣减成功剩余的库存为 realStock);}else {System.out.println(扣减库存失败库存不足);}}finally {if(lock.isLocked()lock.isHeldByCurrentThread()){//释放分布式锁lock.unlock();System.out.println(分布式锁释放); //解锁}}return end;}} 模块2代码 RedisTestController.java package com.atguigu.gulimall.rabbitmqconsumer.controller;import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.UUID; import java.util.concurrent.TimeUnit;/**** 和provider-and-consumer 这两个服务中都有这个RedisTestController用来模拟两个不同的服务* author: jd* create: 2024-07-08*/ RestController RequestMapping(/test) Slf4j public class RedisTestController {Autowiredprivate StringRedisTemplate stringRedisTemplate;Autowiredprivate RedissonClient redissonClient;GetMapping(/RedissonLock)public String deductStockByRedisson(){//写死一个固定商品ID作为我们被秒杀的商品String lockKeylock:product:102;//获取锁对象RLock lock redissonClient.getLock(lockKey);//加锁使用lock方法锁将会自动续命lock.lock();try{//获取当前库存String stock1 stringRedisTemplate.opsForValue().get(stock);if(stock1null){System.out.println(秒杀未开始,请等开始后操作下单);return end;}int stock Integer.parseInt(stringRedisTemplate.opsForValue().get(stock));if(stock0){// 扣减库存int realStock stock - 1;// 更新库存stringRedisTemplate.opsForValue().set(stock, realStock );System.out.println(扣减成功剩余的库存为 realStock);}else {System.out.println(扣减库存失败库存不足);}}finally {if(lock.isLocked()lock.isHeldByCurrentThread()){//释放分布式锁lock.unlock();System.out.println(分布式锁释放); //解锁}}return end;}} 测试结果 单次请求我发送两次结果 第二次 成功扣减。 并发情况模拟 当前库存数 压测 并发压测结果 8023模块 扣减成功剩余的库存为83 分布式锁释放 扣减成功剩余的库存为81 分布式锁释放 扣减成功剩余的库存为80 分布式锁释放 扣减成功剩余的库存为78 分布式锁释放 扣减成功剩余的库存为76 分布式锁释放 扣减成功剩余的库存为75 分布式锁释放 扣减成功剩余的库存为72 分布式锁释放 扣减成功剩余的库存为68 分布式锁释放 扣减成功剩余的库存为66 分布式锁释放 扣减成功剩余的库存为64 分布式锁释放 扣减成功剩余的库存为62 分布式锁释放 扣减成功剩余的库存为60 分布式锁释放 扣减成功剩余的库存为58 分布式锁释放 扣减成功剩余的库存为56 分布式锁释放 扣减成功剩余的库存为54 分布式锁释放 扣减成功剩余的库存为52 分布式锁释放 扣减成功剩余的库存为50 分布式锁释放 扣减成功剩余的库存为48 分布式锁释放 扣减成功剩余的库存为46 分布式锁释放 扣减成功剩余的库存为44 分布式锁释放 扣减成功剩余的库存为42 分布式锁释放 扣减成功剩余的库存为40 分布式锁释放 扣减成功剩余的库存为38 分布式锁释放 扣减成功剩余的库存为36 分布式锁释放 扣减成功剩余的库存为34 分布式锁释放 扣减成功剩余的库存为32 分布式锁释放 扣减成功剩余的库存为30 分布式锁释放 扣减成功剩余的库存为28 分布式锁释放 扣减成功剩余的库存为26 分布式锁释放 扣减成功剩余的库存为24 分布式锁释放 扣减成功剩余的库存为22 分布式锁释放 扣减成功剩余的库存为20 分布式锁释放 扣减成功剩余的库存为18 分布式锁释放 扣减成功剩余的库存为16 分布式锁释放 扣减成功剩余的库存为14 分布式锁释放 扣减成功剩余的库存为12 分布式锁释放 扣减成功剩余的库存为10 分布式锁释放 扣减成功剩余的库存为8 分布式锁释放 扣减成功剩余的库存为6 分布式锁释放 扣减成功剩余的库存为4 分布式锁释放 扣减成功剩余的库存为2 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放8021模块日志 扣减成功剩余的库存为82 分布式锁释放 扣减成功剩余的库存为79 分布式锁释放 扣减成功剩余的库存为77 分布式锁释放 扣减成功剩余的库存为74 分布式锁释放 扣减成功剩余的库存为73 分布式锁释放 扣减成功剩余的库存为71 分布式锁释放 扣减成功剩余的库存为70 分布式锁释放 扣减成功剩余的库存为69 分布式锁释放 扣减成功剩余的库存为67 分布式锁释放 扣减成功剩余的库存为65 分布式锁释放 扣减成功剩余的库存为63 分布式锁释放 扣减成功剩余的库存为61 分布式锁释放 扣减成功剩余的库存为59 分布式锁释放 扣减成功剩余的库存为57 分布式锁释放 扣减成功剩余的库存为55 分布式锁释放 扣减成功剩余的库存为53 分布式锁释放 扣减成功剩余的库存为51 分布式锁释放 扣减成功剩余的库存为49 分布式锁释放 扣减成功剩余的库存为47 分布式锁释放 扣减成功剩余的库存为45 分布式锁释放 扣减成功剩余的库存为43 分布式锁释放 扣减成功剩余的库存为41 分布式锁释放 扣减成功剩余的库存为39 分布式锁释放 扣减成功剩余的库存为37 分布式锁释放 扣减成功剩余的库存为35 分布式锁释放 扣减成功剩余的库存为33 分布式锁释放 扣减成功剩余的库存为31 分布式锁释放 扣减成功剩余的库存为29 分布式锁释放 扣减成功剩余的库存为27 分布式锁释放 扣减成功剩余的库存为25 分布式锁释放 扣减成功剩余的库存为23 分布式锁释放 扣减成功剩余的库存为21 分布式锁释放 扣减成功剩余的库存为19 分布式锁释放 扣减成功剩余的库存为17 分布式锁释放 扣减成功剩余的库存为15 分布式锁释放 扣减成功剩余的库存为13 分布式锁释放 扣减成功剩余的库存为11 分布式锁释放 扣减成功剩余的库存为9 分布式锁释放 扣减成功剩余的库存为7 分布式锁释放 扣减成功剩余的库存为5 分布式锁释放 扣减成功剩余的库存为3 分布式锁释放 扣减成功剩余的库存为1 分布式锁释放 扣减成功剩余的库存为0 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 扣减库存失败库存不足 分布式锁释放 可以看到没有超卖现象。至此Redission实现分布式锁已经OK。 redis实现分布式锁 可见博文【分布式锁】Redis实现分布式锁
http://www.hkea.cn/news/14263010/

相关文章:

  • 网站建设+廊坊学历提升机构哪家好
  • 海东企业网站建设企业网站托管服务常用指南
  • 珠海左右创意园网站开发中信建设有限责任公司海外地位
  • 网站域名注册证书查询徐州领航装饰工程有限公司
  • 简述建设一个网站的基本步骤郑州网站建设公司哪家专业
  • 做网站会犯法吗艺阳科技网站建设
  • 那个网站有兼职做室内设计做电力 公司网站
  • 成都网站建设零一海阳做网站
  • 河东天津网站建设闵行做网站
  • 介绍类网站建设策划书范文有诗意的设计公司名字
  • 中国建设银行信用卡旅游卡服务网站哈尔滨市哪里做淘宝网站
  • 南京百度网站排名建站工作室
  • 企业做定制网站的好处网站建设和管理专业
  • 做网站的注意点wordpress 群站
  • 网站建设技术合伙人的技术股份企业的网站建设公司
  • 中恒诚信建设有限公司网站wordpress简单网址导航模板
  • 淄博网站设计公司学校网站建设的不足
  • 做网站用什么语言制作最安全做网站属于印花税哪个范畴
  • 做网站时间网站推广的具体方法
  • 静态企业网站下载服务哪家好网站制作
  • 网站模板源码下载网页设计作业总结
  • 深圳 营销型网站建设太原建设工程信息网站
  • 淮安做网站服务单位用什么软件可以做网站
  • 手机网站建设的影响爱爱做网站
  • 58同城会员网站怎么做嘉兴企业自助建站
  • 网站一键备份wordpress做成网盘
  • 宁津建设局网站闵行区
  • 做外贸 网站邮箱申请医院建设官方网站必要性
  • 九江市建设规划局网站外贸流程图详细
  • 网站宣传推广方案asp.net小型网站开发