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

网站开发专业是干嘛的深圳餐饮设计公司

网站开发专业是干嘛的,深圳餐饮设计公司,河北网络建站,影楼网站模版#x1f4dd;个人主页#xff1a;五敷有你 #x1f525;系列专栏#xff1a;Redis ⛺️稳中求进#xff0c;晒太阳 Redis的应用场景#xff1a; 限流 要求10s内只能访问一次 RequestMapping(xian)public String xianLiu(String sign){String sign1 … 个人主页五敷有你       系列专栏Redis ⛺️稳中求进晒太阳 Redis的应用场景 限流 要求10s内只能访问一次 RequestMapping(xian)public String xianLiu(String sign){String sign1 redisTemplate.opsForValue().get(sign);if(!StringUtils.isBlank(sign1)){return 我不可以访问;}redisTemplate.opsForValue().set(sign,sign,10, TimeUnit.SECONDS);return 我可以访问;} 10s内只能访问5次 RequestMapping(/access)public String access(String id){Long increase redisTemplate.opsForValue().increment(id);redisTemplate.expire(id,10,TimeUnit.SECONDS);if(increase5){return 我不可以访问,10s内访问次数increase;}return 我可以访问increase;} 抢红包 要求 所有人抢到金额之和等于红包金额不能少于10元。每个人至少抢到1快钱。保证所有人抢到金额的几率相等 实现思路 给每个红包一个保底1元让后将剩下的钱进行随机分配 如果restTime0,表示红包过期 如果redis返回null 表示抢完了返回已抢完 注意红包过期时间。 RequestMapping(/sendRedBags)public String sendRedBags(Integer uid,Integer money,Integer bags){Random random new Random();Integer[] redBagsnew Integer[bags];Arrays.fill(redBags,1);int restMoney money-bags;for(int i0;ibags-1;i){int bound restMoney1;//最少1元int mon random.nextInt(bound);redBags[i]mon;restMoneyrestMoney-mon;if(restMoney0){break;}}redBags[bags-1]restMoney;System.out.println(uiduid发送红包: Arrays.toString(redBags));String keyredBags:uid;for (int i 0; i bags; i) {redisTemplate.opsForList().leftPush(key,redBags[i].toString());}redisTemplate.expire(key,20,TimeUnit.SECONDS);return ok;}RequestMapping(/getRedBags)public String getRedBags(Integer uid){String keyredBags:uid;Long restTime redisTemplate.getExpire(key,TimeUnit.SECONDS);System.out.println(红包剩余时间: restTime);if(restTime0){return 红包过期了;}String redBags redisTemplate.opsForList().leftPop(key);if(StringUtils.isBlank(redBags)){return 红包抢光了;}System.out.println(你抢到的金额: redBags);return 你抢到的金额: redBags;} 运行结果  看似没有问题但在redBags中没有东西后key也就没了如下 当第6次获取红包就会返回-2表示没有这个key了可明明还有时间啊是value为nil了key也就没了 验证 经过验证确实如果list结构中的value没了之后key也没了。不用等到过期。 所以上面判断时间的代码好像就没意义了修改简单点 RequestMapping(/getRedBags)public String getRedBags(Integer uid){String keyredBags:uid;String redBags redisTemplate.opsForList().leftPop(key);if(StringUtils.isBlank(redBags)){return 红包过期了或被抢光了;}System.out.println(你抢到的金额: redBags);return 你抢到的金额: redBags;}
http://www.dnsts.com.cn/news/266397.html

相关文章:

  • 网站如何发布wordpress 标签调用
  • 做的比较好的企业网站汉中门户网官网
  • 网站上的搜索怎么做网站建设功能图
  • 怎么查看网站是哪个公司做的民企厂房建设招标网站
  • 网站开发的实训报告厦门百度广告
  • archigo建筑网站江阴做网站哪家好
  • 张槎建网站那种网站打不开
  • 网站网页切换怎么做的做网站主流网站
  • 门户网站模板珠海高端网站建设报价
  • 网站建设的主要内容是软件交流静态网页模板制作工具
  • 建设团购网站费用wordpress视频居中
  • 制作宝安网站建设泰州住房和城乡建设厅网站首页
  • 美食网站建设的意义中国建筑材料网官网
  • 贵州建设厅网站政务大厅帝国cms7.0模板 绿色企业网站模板(整站带数据)
  • 检察机关门户网站建设自查报告seo快速排名软件网址
  • 免费数据库网站空间网站建设学习资料
  • wordpress 官方网站wordpress手机上无法写文章
  • 电商网站设计模板网站开发建设与维护做什么的
  • 东莞网站建设seo建立自己的网站
  • 鼓楼公司网站建设费用wordpress3.9中文版
  • 医疗培训网站建设wordpress 与公众平台
  • 网站建设策划书编制学校网站建设项目背景
  • 网站漏洞单位网站 单位网页 区别吗
  • 合肥建设网站制作哪个好客户做外贸用那些网站
  • 新手学网页设计的网站做品牌网站公司
  • 博罗惠州网站建设站长之家官网查询
  • 钢材贸易网站建设网站推销怎么做ppt模板
  • 营销型网站建设与推广网站建设及推广人员
  • 宁夏石嘴山市城乡建设局提意见网站宿州网站建设多少钱
  • 海报设计模板网站wordpress 英文