编号生成策略
文章平均质量分 92
迟到的月亮
来都来了...坐下喝茶~
展开
-
订单编号生成方案研究
1.现有方式:通过redis incry函数自增 redis控制并发2.需求:订单编号为30位左右的数字编号 不再采用自增方式(自增方式容易被利用) 订单编号具有基本的可读性(如年月日的可读性) 企业标识(2位数字)+ 业务标识(2位数字)+ 自定义(n位数字) 无论什么情况都不能重复(高并发等)3.备选方案1 来源:由Snowflake改写企业标识(2位)+业务标识(2位)+ 年月日(6原创 2017-04-20 13:00:48 · 7323 阅读 · 0 评论 -
UUID不失精度,长度改进
在使用到uuid的时候,往往头疼于它的长度(如1bfe50d8-544e-4e8a-95b8-199ceff15268),于是乎就有了改写uuid的各种方法1.不觉得uuid很长,但是就是看着中间的“-”很难受,简单直接点就是UUID uuid = UUID.randomUUID();uuid.toString.replace("-", "");额,这种方法,简单粗暴不优雅,其实呢,还可以看看这个原创 2017-05-11 15:17:27 · 10865 阅读 · 6 评论 -
随机数环设想
基本思路: 定义一个位长度大于bitNum的数组位环(使用位运算)每次取的随机数要先去数组对应下标位中判断下标位的数是否为0,若为0则直接返回 并把这个位置置1,如果是1,则寻找1前面的那个位,如果找了一定的数量destoryLen都是1那么将该随机数返回,环终结个数+1,数组元素全部置0,将新数组该随机下标位置1。代码实现:import java.util.concurrent.ThreadLo原创 2017-11-21 15:13:29 · 811 阅读 · 1 评论