go 实现一个简单的UUID生成器

    xiaoxiao2021-03-25  101

    查看源代码

    实现方法:

    UUID 通过三部分组成 curtime << 22 | generaterid << 12 | sequenceid

    具体原理如下:

    首先每一个UUID生成器有一个id

    在生成UUID的时候

    先取当前时间距离1970的秒数作为高位,generaterid作为中间

    如果本次生成的时间和上一次的时间相同,则sequenceid +1,否则sequenceid位0

    然后把sequenceid作为uuid的低位

    这样在不修改系统时间的前提下可以保证每次生成的UUID唯一

    转载请注明原文地址: https://ju.6miu.com/read-14681.html

    最新回复(0)