1.UUID(string)
1.什么是UUID
用完就扔或者只是验证不重复就行,速度极快,不需要任何依赖,

2.36的长度由来(16进制)
表现长度是36位的16进制。他是固定的128位,然后是16个字节,一个字节是8位可以表示255,那么我们一般用16进制,所以2个字节才能人眼表示一个16进制的,所以是32位了,然后加上4个“-”,所以就是长度是·16位的16进制的字符串。

2.雪花算法(int64)
1.什么是雪花算法
他需要依据workerID来生成,是偏重的,不像uuid,导入库就能用,雪花算法用于需要插入数据库的,他的大小是逐渐增大的,对索引特别友好。

1.什么是workerID

2.19的长度由来(10进制)
因为是64位的,我们用10进制的表示的话,19位刚好可以表示64位的二进制。

3.时钟回拨问题

4.注意精度丢失问题
json如果传的是int,确实会有这个问题,所以我们生产环境,雪花算法生成的id,也是转成string存储

3.Redis的inc自增
1.什么是reids生成的id

4.适用场景对比


5.ID,UID和UUID
6.字节,位和字符的关系
1.换算关系
字符根据中英文进行区分,英文:一字符等于1字节,中文:一字符等于3字节,表情:一字符等于4字节
所以可以这样算,128位的,就是16字节,换算成二进制表示就是128长度的,换算成16进制就是32长度的。


评论