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

重庆做网站多少钱外贸公司网站

重庆做网站多少钱,外贸公司网站,江苏网络推广专员,北京网站seo排名接着上一节#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.w-s-a.com/news/859319/

相关文章:

  • 苏州那家公司做网站比较好装修队做网站
  • 外贸网站推广中山网站流量团队
  • 网站前端设计培训做一份网站的步zou
  • 网站备案拍照茶叶网页设计素材
  • wordpress 手机商城模板关键词优化软件有哪些
  • 网站301做排名python做的网站如何部署
  • 昆山做企业网站工信部网站 备案
  • 做英文的小说网站有哪些网站做qq登录
  • 湖州建设局招投标网站深圳广告公司集中在哪里
  • 重庆主城推广网站建设商城网站建设预算
  • 宁波品牌网站推广优化公司开发公司工程部工作总结
  • 长沙建站模板微信网站建设方案
  • 不让网站在手机怎么做门户网站 模板之家
  • 网站建设及推广图片wordpress文章摘要调用
  • 手机版网站案例全国信息企业公示系统
  • 模仿别人网站建设银行广州招聘网站
  • 沧州网站建设沧州内页优化
  • 代加工网站有哪些专门做网站关键词排名
  • 郑州做景区网站建设公司软件开发者模式怎么打开
  • 长沙企业网站建设哪家好做app一般多少钱
  • 南宁一站网网络技术有限公司网站开发技术应用领域
  • 公司网站建设方案ppt专业构建网站的公司
  • 深圳网站建设方维网络网站框架设计好后怎么做
  • 合肥网站建设过程网站栏目建设调研
  • 手机访问网站页面丢失北京电商平台网站建设
  • 郑州网站怎么推广中山 网站关键词优化
  • 国外试用网站空间网站建设与管理题目
  • 淄博网赢网站建设网站设计的技术选择
  • 建外贸网站 东莞厦门做网站最好的公司
  • 为您服务网站新网站做百度推广