题目是生成明天的订单号,删除昨天的订单号,在redis操作,订单号暂定规则为年月日接五位数。如2018102200001

当一个订单生成的时候, 去redis去取订单号,去玩后删掉。这个取和删除操作是一个命令发过去的。不能写成两个语句。

参考博客:

redis五种结构详解:

https://www.cnblogs.com/sdgf/p/6244937.html

redis五种结构详解:

https://blog.csdn.net/kiss199203/article/details/73549091

redis设置list的过期时间

http://lionlx.iteye.com/blog/1746683

redis存储list

https://blog.csdn.net/Kincym/article/details/72676813

最终代码:

  /*** 明天的订单号* @return*/@ResponseBody@RequestMapping(value="/ordergen",produces = "application/json;charset=UTF-8")public String ordergen(){JSONObject jsonObject = new JSONObject();try{//用于存储的订单列表//List<String> ordernumlist = new ArrayList<String>();//准备前部分订单号码Calendar calendar = Calendar.getInstance();  calendar.setTime(new Date()); calendar.add(Calendar.DAY_OF_MONTH, +1);//明天SimpleDateFormat sdf =  new SimpleDateFormat("yyyyMMdd"); String str_q = sdf.format(calendar.getTime());//准备后部分订单号码for(int i=1;i<=9;i++){String str_h = String.valueOf(i);String strmax ="00000";str_h=strmax.substring(0, 5-str_h.length())+str_h;String str_qh = str_q + str_h;//redis存储一个list,从头开始,往后加redisClient.rpush(str_q,str_qh);}//明天的订单号,将从今天开始存在48小时(今天只能取到今天的key,时间一到list自动没了)redisClient.expire(str_q, 172800);jsonObject.put("code", ResponseStatusCode.SUCC.getValue());return jsonObject.toJSONString();}catch(Exception e){e.printStackTrace();jsonObject.put("code", ResponseStatusCode.FAIL.getValue());return jsonObject.toJSONString();}}/*** 获取并且删除订单号* @return*/@ResponseBody@RequestMapping(value="/ordertake",produces = "application/json;charset=UTF-8")public String ordertake(){JSONObject jsonObject = new JSONObject();try{SimpleDateFormat sdf =  new SimpleDateFormat("yyyyMMdd"); String str_q = sdf.format(new Date());String ordernow  = redisClient.lpop(str_q);jsonObject.put("code", ResponseStatusCode.SUCC.getValue());jsonObject.put("ordernum", ordernow);return jsonObject.toJSONString();}catch(Exception e){e.printStackTrace();jsonObject.put("code", ResponseStatusCode.FAIL.getValue());return jsonObject.toJSONString();}}

创作思路:

redis 生成订单号学习相关推荐

  1. redis生成订单号案例

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.redis的相关工具类 二.生成订单号相关方法 前言 项目开发中遇到了对订单号的修改,这里只是实现了利用redis ...

  2. Redis生成订单号

    基于SSM+Maven单号生成器: 订单号:业务类型+yyyyMMddHHmmss+ 6位流水号. 业务类型为任意2个英文字母,HHmmss为redis服务器的时间,6位流水号从1开始自增. KEY1 ...

  3. 使用redis 加锁的方式生成订单号

    建一个订单对象 /*** 订单号 对象*/ @Data public class OrderNumberVo implements Serializable {/*** 日期字符串 格式:" ...

  4. php如何生成订单号,php如何生成不重复订单号

    php生成不重复订单号的方法:首先可以预先生成订单号:然后进行去重存起来:最后用的时候取一个出来用就行,代码为[$orderNo = date('YmdHis').substr(microtime() ...

  5. php 快递单号生成规则,Thinkphp 生成订单号小案例

    Thinkphp 生成订单号小案例小伙伴们在日常的商城项目开发中,都会遇到订单号生成的问题,今天呢思梦PHP就带领大家去解读一下生成订单号的问题!首先,订单号我们要明确它有有3个性质:1.唯一性 2. ...

  6. php根据当天日期生成编号,前台js根据当前时间生成订单号

    *********前台显示框**************** **************js代码***************** function GetDateNow() { var vNow ...

  7. python生成订单号或生成任意序列

    python生成订单号或生成任意序列 示例代码: import time# 生成订单号 def get_order_code():# 年月日时分秒+time.time()的后7位order_no = ...

  8. PHP制作订货,PHP生成订单号的两种方法

    在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php Functi ...

  9. php订单号递增,PHP生成订单号的两种方法

    在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php functi ...

最新文章

  1. element的多级选中_element-ui(Vue.js) 我在做二级select联动时选中值是循环的value怎么解?...
  2. 【号外号外:微软收购 .NET 的开源实现 Xamarin 项目的公司】
  3. go语言mysql视频_Go语言实战流媒体视频网站
  4. oracle分区大批量update,Oracle 对分区作调整记得加update global indexes
  5. Object类和String类
  6. 前端学习(359):svn服务器配置金和客户端安装
  7. android requestpermissions参数,Android M Permissions:onRequestPermissionsResult()未被调用
  8. 信息学奥赛一本通(1250:The Castle)
  9. 本地gradle使用
  10. java对象转excel_Java对象和Excel转换工具XXL-EXCEL
  11. 日志查看_实时查看容器日志
  12. web安全day4--DHCP部署与安全
  13. Leetcode513. Find Bottom Left Tree Value找树左下角的值
  14. 讨教大学|ASQ黑带考试通关秘籍,纯知识干货分享
  15. 解决在onedrive里无法打开onenote笔记本的问题
  16. 软件数字签名 c语言,C语言实现的SM2数字签名验证
  17. 计算机怎么链接网络打印机,连接网络打印机,教您如何使用网络连接打印机
  18. 学习.NET好书推荐
  19. 麒麟芯片鸿蒙芯片高通骁龙,麒麟和骁龙两款处理器,选哪一款比较好,看完这三点你就明白了...
  20. MSP430 TTP229 单片机 触摸按键 实践 51单片机 触摸键盘

热门文章

  1. 基于51单片机的多音阶电子琴proteus仿真程序原理设计
  2. 十次方中的前端知识点随记
  3. 跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程
  4. idea自动下载gradle失败解决方案
  5. Crypto如何塑造数字革命 |链捕手
  6. (自适应手机端)响应式勘察设计院蓝色网站pbootcms模板 政府单位商会协会网站源码下载
  7. pr002 导出清晰度降低解决方法
  8. Leetcode95. 不同的二叉搜索树 II(C语言)
  9. 跳槽应该果断吗_采取果断行动打击网络犯罪的重要性
  10. 软考系统集成项目管理工程师视频教程(下)-乔俊峰-专题视频课程