码迷,mamicode.com
首页 > 其他好文 > 详细

从0开始的申请编号

时间:2020-03-09 20:53:46      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:更新   开始   处理   使用   函数   问题   sprint   方便   key值   

  今天在做申请订单编号时,需求是:按照年月日然后加上一串数字编号,组成一个新的申请编号。

  前面的年月日好处理,直接使用date函数就行,而后面需要加一串从0开始的数字编号,我想了几种方案。

  1、第一种是直接取数据库的主键id进行。但是这样有缺点,一个是本次需求是每天都需要更新一下编号,重置从0开始,因此每次都要对表进行清空,不友好。其次是多建一张表大材小用了,没有这个必要。

  2、使用redis缓存,key值为当天的日期加上标记符,比如bianhao20200309,然后值是最新的申请编号,如果缓存中有,则取出,然后+1,如果没有则生成。这样是比较方便的。

  sprintf,可以补填0,比如sprintf(‘$03s‘),如果不足三位会自动补0.

  ps,使用这种方法需要注意并发问题,如果有两个订单同时申请,可能会导致编号重复的现象,如果需要不重复,需要用redis锁

从0开始的申请编号

标签:更新   开始   处理   使用   函数   问题   sprint   方便   key值   

原文地址:https://www.cnblogs.com/xingyuecanxue/p/12450888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!