订单编号在哪里看(怎么查看自己的订单编号)

背景

生成唯一订单号是在设计系统时候经常会遇到的一个问题,生成唯一订单号的方法有很多,为了适应不同的场景和性能,选择的方法也会不一样,有些复杂的系统会有多套这种唯一编码生成方式。


利用数据库自增序列

利用数据库自增序列,比如新建一张表,专门插入数据,获取新增记录的主键值,为了订单号的可读性,可以由

年月日 时间戳 auto_increment

值,这种方式能保证唯一性、递增性,实现也较为简单,缺点就是每次都要连接数据库,插入一条数据来获取自增主键,性能较差,且后续有数据合并场景,订单号可能会重复。


redis

代替数据库生成ID

利用Redis的原子操作

INCR和INCRBY来实现

,这个自增值也是唯一的,

性能要优于数据库。


UUID

可以利用数据库,也可以利用代码生成,全球唯一,性能较高,生成的一坨

字符串

,可读性较差,字符串一般32位,也有48位的,存储空间较大,作为主键索引查询较慢,但后续如果有合并数据需求,很方便,因为每次生成的都是全球唯一的。


雪花算法

twitter

提出,代码生成,性能较高,此算法

弥补了UUID的不足

,它是单调递增的,可包含一定的业务意义,有序的ID能够提高数据库写入性能。




业务常见的唯一编码有这些,没有最好的,根据业务场景选择适用的就行。


上一篇 2022-02-20 23:55:08
下一篇 2022-02-20 23:55:31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注