本文主要是介绍雪花算法理解(1高位+41位时间戳+10位机器位+12位自增序号),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景:
为啥需要雪花算法呢?
1.我们是不希望用UUID的,因为它是字符串,不利于索引的建立。
2.字符串内存占用大。
3.游戏中,我们希望生成的id是有意义的,我们可以根据id去反推出一些业务信息。所以根据唯一的用户标识生成long类型的账号时,我们就会用到雪花算法。
一、雪花算法的组成
1.高位
2.41位二进制的时间戳
为啥是41位呢? 我们看下时间戳,发现是13位,2的10次方是1024也就是占据3位,所以需要2的41次方才到时间戳的位数。
3.机器id是固定的,10位的话,有1000多台肯定是用不完的。
4.序列号,这个也许我们也可以用来表示一些自定义的业务。
这篇关于雪花算法理解(1高位+41位时间戳+10位机器位+12位自增序号)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!