redis 生成订单号学习
题目是生成明天的订单号,删除昨天的订单号,在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 生成订单号学习相关推荐
- redis生成订单号案例
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.redis的相关工具类 二.生成订单号相关方法 前言 项目开发中遇到了对订单号的修改,这里只是实现了利用redis ...
- Redis生成订单号
基于SSM+Maven单号生成器: 订单号:业务类型+yyyyMMddHHmmss+ 6位流水号. 业务类型为任意2个英文字母,HHmmss为redis服务器的时间,6位流水号从1开始自增. KEY1 ...
- 使用redis 加锁的方式生成订单号
建一个订单对象 /*** 订单号 对象*/ @Data public class OrderNumberVo implements Serializable {/*** 日期字符串 格式:" ...
- php如何生成订单号,php如何生成不重复订单号
php生成不重复订单号的方法:首先可以预先生成订单号:然后进行去重存起来:最后用的时候取一个出来用就行,代码为[$orderNo = date('YmdHis').substr(microtime() ...
- php 快递单号生成规则,Thinkphp 生成订单号小案例
Thinkphp 生成订单号小案例小伙伴们在日常的商城项目开发中,都会遇到订单号生成的问题,今天呢思梦PHP就带领大家去解读一下生成订单号的问题!首先,订单号我们要明确它有有3个性质:1.唯一性 2. ...
- php根据当天日期生成编号,前台js根据当前时间生成订单号
*********前台显示框**************** **************js代码***************** function GetDateNow() { var vNow ...
- python生成订单号或生成任意序列
python生成订单号或生成任意序列 示例代码: import time# 生成订单号 def get_order_code():# 年月日时分秒+time.time()的后7位order_no = ...
- PHP制作订货,PHP生成订单号的两种方法
在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php Functi ...
- php订单号递增,PHP生成订单号的两种方法
在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php functi ...
最新文章
- element的多级选中_element-ui(Vue.js) 我在做二级select联动时选中值是循环的value怎么解?...
- 【号外号外:微软收购 .NET 的开源实现 Xamarin 项目的公司】
- go语言mysql视频_Go语言实战流媒体视频网站
- oracle分区大批量update,Oracle 对分区作调整记得加update global indexes
- Object类和String类
- 前端学习(359):svn服务器配置金和客户端安装
- android requestpermissions参数,Android M Permissions:onRequestPermissionsResult()未被调用
- 信息学奥赛一本通(1250:The Castle)
- 本地gradle使用
- java对象转excel_Java对象和Excel转换工具XXL-EXCEL
- 日志查看_实时查看容器日志
- web安全day4--DHCP部署与安全
- Leetcode513. Find Bottom Left Tree Value找树左下角的值
- 讨教大学|ASQ黑带考试通关秘籍,纯知识干货分享
- 解决在onedrive里无法打开onenote笔记本的问题
- 软件数字签名 c语言,C语言实现的SM2数字签名验证
- 计算机怎么链接网络打印机,连接网络打印机,教您如何使用网络连接打印机
- 学习.NET好书推荐
- 麒麟芯片鸿蒙芯片高通骁龙,麒麟和骁龙两款处理器,选哪一款比较好,看完这三点你就明白了...
- MSP430 TTP229 单片机 触摸按键 实践 51单片机 触摸键盘
热门文章
- 基于51单片机的多音阶电子琴proteus仿真程序原理设计
- 十次方中的前端知识点随记
- 跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程
- idea自动下载gradle失败解决方案
- Crypto如何塑造数字革命 |链捕手
- (自适应手机端)响应式勘察设计院蓝色网站pbootcms模板 政府单位商会协会网站源码下载
- pr002 导出清晰度降低解决方法
- Leetcode95. 不同的二叉搜索树 II(C语言)
- 跳槽应该果断吗_采取果断行动打击网络犯罪的重要性
- 软考系统集成项目管理工程师视频教程(下)-乔俊峰-专题视频课程