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

5.秒杀模块-基于redis缓存商品秒杀信息

传入:用户电话即可。

实现功能:

查询是否有预约:

Redis查询,若有则可以秒杀,若没有,则去数据库查询,若有预约,则把信息加入Redis。若没有,则返还没有预约信息。

查询商品是否已经加入redis:

         如果没有,则直接加入,如时间,库存等。

在redis查询是否还有库存:

         有则抢购成功,扣库存,用redis充当消息队列插入用户秒杀记录,秒杀结束再同步处理(后台线程异步处理或者开线程池处理)。没有库存则返回错误信息。

 

 

代码实现:

1.  public SecKillResult secKillProduct(String userPhone, long productId) {  

2.          String state = (String)redisTemplate.opsForValue().get(userPhone + "_"+ productId);  

3.          //用户信息加载  

4.          if(null == state){  

5.              SuccessKilled successKilled = new SuccessKilled();  

6.              successKilled.setSeckillId(productId);  

7.              successKilled.setUserPhone(Long.valueOf(userPhone));  

8.              successKilled = successKilledMapper.selectOne(successKilled);  

9.              if(null == successKilled){  

10.                 return new SecKillResult(false"该用户没有预约");  

11.             }else{  

12.                 synchronized (this){  

13.                     state = (String)redisTemplate.opsF

http://www.lryc.cn/news/2420900.html

相关文章:

  • ‘真三国无双5’完美存档修改
  • 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow)
  • gitgitlab 修改本地分支名称和远程分支名称
  • 初探Spark-使用大数据分析2000W行数据
  • 博客屋网址导航自适应主题php源码
  • 驱动python_光驱驱动下载_万能光驱驱动(万能DVD光驱CD光驱驱动) 2018 官方版_极速下载站...
  • MFC框架机制详解
  • 【C语言经典例题100解答】
  • web自动化测试_web自动化测试工具和框架有哪些?
  • 基于深度学习的车牌识别项目的APP部分之图像预处理(一):C语言读取bmp图像信息
  • 知音微服务平台网上订烟_96368手机订烟统一订单下载|96368统一订单平台(湖南烟草统一订单)下载v1.3.6 安卓版_ 2265安卓网...
  • VC++使用DC画出点,线,矩形,椭圆
  • python-flask计算机毕业设计装修公司管理系统(程序+开题+论文)
  • C# DevExpress ChartControl用法总结
  • RichEdit那点儿事(一)
  • DAY1-声速、声压与声强
  • 记录点有意义的事情---csdn数据库被黑(原创)
  • patch 补丁文件制作
  • 修改固态硬盘的物理序列号_买固态怕踩坑?收下这些软件,轻松鉴别好坏
  • 传奇翎风引擎单机架设教程
  • QQ强制视频聊天
  • Moto官方GMS谷歌服务套件For XT800+下载和使用教程
  • 经典SQL语句大全
  • 提升电脑开机速度
  • 推荐开源项目:YUIDoc——JavaScript文档生成引擎
  • socks5原理
  • 课程设计-基于Springboot+Vue的在线考试系统的设计与实现(源码+LW+包运行)
  • Linux入门实验3
  • JAVA转.NET——day03、下
  • Stanford Parser句法分析器