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长度的。