博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
订单号设计规则
阅读量:4339 次
发布时间:2019-06-07

本文共 621 字,大约阅读时间需要 2 分钟。

最近公司由于业务的需要,设计生成订单号规则(定制版)。在网上查看了一些资料,在这里总结一些自己的心得。

  1. 基本需求:正确性、唯一性、安全性、稳定性
  2. 高级需求:检索性能、其他性能方面
  3. 定制化需求:语义相关、业务相关

订单号的生成规则:

  •  唯一性(不重复):保证编码id唯一;
  • 安全性:在编码中不要加入任何和公司运营的数据;
  •  易读性:不大规模使用随机码,造成编码位数过长,不建议有字母编码规则,最好是纯数字编码;
  • 可扩展性:便于查询,业务升级等;
  • 防止并发:主要针对编码中有时间的设定,分布式机器的时间不统一。

 

编码规则一般位数控制在10-15位,常见的编码规则:

  • 时间戳+业务类型+下单平台+随机码(或自增码,自增码每天可清零)+支付渠道+用户ID(建议);
  • 年月日时分秒+用户ID;
  • 年月日时分秒微秒+随机码(2)+流水号+随机码(3);
  • 利用数据库主键值产生一个自增长的订单号(订单号即数据表的主键)
  • 日期+自增长数字的订单号(比如:2012040110235662)
  • 产生随机的订单号(65865325365966)
  • 字母+数字字符串式,字母有包含特别意义,C02356652
  • Twitter的雪花算法,php第三方扩展库(php-snowflake):https://github.com/zh-ang/php-snowflake(推荐)

转载于:https://www.cnblogs.com/anly95/p/10516673.html

你可能感兴趣的文章
AccountManager教程
查看>>
Android学习笔记(十一)——从意图返回结果
查看>>
算法导论笔记(四)算法分析常用符号
查看>>
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>
亿级曝光品牌视频的幕后设定
查看>>
ARPA
查看>>
JSP开发模式
查看>>
我的Android进阶之旅------>Android嵌入图像InsetDrawable的使用方法
查看>>
Detours信息泄漏漏洞
查看>>
win32使用拖放文件
查看>>
Android 动态显示和隐藏软键盘
查看>>
raid5什么意思?怎样做raid5?raid5 几块硬盘?
查看>>
【转】how can i build fast
查看>>
null?对象?异常?到底应该如何返回错误信息
查看>>
django登录验证码操作
查看>>
(简单)华为Nova青春 WAS-AL00的USB调试模式在哪里开启的流程
查看>>
图论知识,博客
查看>>
[原创]一篇无关技术的小日记(仅作暂存)
查看>>
20145303刘俊谦 Exp7 网络欺诈技术防范
查看>>