简单的订单号创建(php):

      function generateOrderSn(){$yearCode = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"];//生成规则年(转换成一个大写字母来缩短长度)+月(转换为十六进制数)+日+当前时间戳的后//几位+当前的微秒数(小数点后面的5位)+一个两位的随机year的算法$year = $yearCode[date("Y") - 2018]; //用A表示2018年等,目的是缩短订单号$month = strtoupper(dechex(date("m")));//十六进制$day = date("d");$sec = substr(time(), -5); //取时间戳的后5位,因为前面的大至不会改变[$micr, $second] = explode("", microtime());$microsec = substr($micr, 2, 5);//取得微秒数小数点后面的5位数$rand = random_int(10, 99);$orderSn = $year . $month . $day . $sec . $microsec . $rand . uniqid('', true);return $orderSn;}

如果在高并发情况下不排除可能重复的情况;(可能会出现订单号重复)

高并发情况下,可以使用一些成熟的算法如:

php雪花算法实现:(这篇文章不错)

雪花算法是Twitter公司发明的一种算法,
主要目的是解决在分布式环境下,ID怎样生成的问题
1,分布式ID生成规则硬性要求:全局唯一:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。趋势递增:MySQL中InnoDB引擎使用的是聚集索引。多数RDBMS使用Btree的数据结构来存储索引数据,在主键的选择上尽量选择有序的主键保证写入性能。单调递增:保证下一个ID号一定大于上一个

这样就不怕了

订单号创建(php)相关推荐

  1. 微信小程序创建订单号思路(附将带其它符号字符串转换成纯数字字符串)

    // 1获取当前时间let time = util.formatTime(new Date());// 2创建订单号// 拼接时间字符和电话号码// let orderNumber = time + ...

  2. 创建唯一订单号,真的不重复 JMeter 亲测

    package com.rongchang.ziling.game.util;import java.text.SimpleDateFormat; import java.util.Date; imp ...

  3. 利用redis创建订单号

    该程序订单号有业务类型(飞机票业务是1或者火车票业务是2依次类推)+日期(四位数)+默认数字(100)+六位随机数总共14位的订单号 首先每天第一次都会生成key,并保存订单号,第二次获取订单号,会根 ...

  4. SAP MM Inbound Delivery凭证流里不出现采购订单号?

    SAP MM Inbound Delivery凭证流里不出现采购订单号? VL33N显示如下内向交货单,看其凭证流, 看行项目的document flow, 结果类似,对应的PO号码并没有显示在里面, ...

  5. 为什么S/4HANA的销售订单创建会触发生产订单的创建

    调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...

  6. java批量生成订单号_【笔记6-支付及订单模块】从0开始 独立完成企业级Java电商网站开发(服务端)...

    支付模块 实际开发工作中经常会遇见如下场景,一个支付模块,一个订单模块,有一定依赖,一个同事负责支付模块,另一个同事负责订单模块,但是开发支付模块的时候要依赖订单模块的相关类 ,方法,或者工具类,这些 ...

  7. 为什么S/4HANA的销售订单创建会触发生产订单的创建 1

    调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...

  8. ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)...

    我们在日常开发项目过程中往往需要各种订单单号的产生方法,而且是支持多用户并发.支持多种数据库的,我们并不想为每个项目都写一些独立的代码去实现这些功能,往往需要有个通用的函数比较爽一些. 下面我们以C# ...

  9. 生成唯一订单号_人人皆知却暗藏玄机的“数据库唯一标识符”

    Hello 大家好,今天给大家讲一个几乎所有数据库都支持的特性:生成唯一标识符. 知乎视频​www.zhihu.com 详细内容: 唯一标识符应用场景非常多,比如网站注册时自动给新用户一个唯一 ID, ...

最新文章

  1. python 自动生成C++代码 (代码生成器)
  2. 【★】Web精彩实战之智能迷宫
  3. 面试必问之【数组】篇
  4. PCA方法对特征降维
  5. Maya mayapy.exe 安装 Cython,编译 pyd
  6. python0x80070005拒绝访问_PowerShell启用winrm失败:拒绝访问 0x80070005 -2147024891
  7. ABAP 读EXCEL 到内表
  8. 【学习笔记】WQS二分详解及常见理解误区解释
  9. 老web换新枝----Sails.js移动设备的全新生产力(五)
  10. SAPI使用总结——SpVoice的使用方法
  11. CDH ecosystem components
  12. 通过HttpModule实现IP地址屏蔽功能
  13. 安装adb、选择合适的 adb 版本
  14. Vue+springboot流浪宠物救助领养网站
  15. oracle恢复表数据
  16. artset下载_artset4免费版下载-artset4中文版下载v1.4.2-IT168下载站
  17. PMP备考经典题库-敏捷专项练习题一(30道)
  18. 高难度c语言编程题,高难度脑筋急转弯题目合集带答案
  19. vb.net 教程 3-4 窗体编程 公共控件2 radiobutton ComboBox
  20. 论文翻译神器:SCITranslate 10.0,一键翻译整篇文献

热门文章

  1. ComponentOne 2019V1更新亮点之ASP.NET MVC篇
  2. 【JS】函数的 arguments 对象
  3. matlab和Verilog之截位,四舍五入和饱和处理
  4. java ubb_月光软件站 - 编程文档 - Java - JAVA写的简单UBB类
  5. OpenStack之Neutron网络服务
  6. RSA算法以及其破解方法
  7. 多数据源启动异常:No qualifying bean of type ‘javax.sql.DataSource‘ available: more than one ‘primary‘ bean f
  8. Docker 私有仓库搭建,私有库镜像的推送 、拉取和删除
  9. 修改注册表后的严重问题
  10. 【智慧消防】某高校动物房改造消防应急照明和疏散指示系统的应用