PCYOPCYO

飞鸟

唯一ID生成方法

UUID

  • 字母表36个 (0-9,A-Z)
  • 长度32位:
  • 位数构成:

    1. 1~8位采用系统时间,在系统时间上精确到毫秒级保证时间上的唯一性;
    2. 9~16位采用底层的IP地址,在服务器集群中的唯一性;
    3. 17~24位采用当前对象的HashCode值,在一个内部对象上的唯一性;
    4. 25~32位采用调用方法的一个随机数,在一个对象内的毫秒级的唯一性。
  • 优势:当前最流行的方案 (有多种变种)

ULID

  • 字母表32个 (0-9,A-Z),不包括字母I,L,O和U,以避免混淆和滥用
  • 长度16位
  • 位数构成:

    1. 48位时间戳
    2. 80位随机数
  • 优势:可排序,可查询,可索引

NanoID

  • 字母表64个(0-9,A-Z,a-z,-,_)
  • 长度21位
  • 位数构成:
    暂无
  • 优势: 性能比UUID快60%
本原创文章未经允许不得转载 | 当前页面:PCYO » 唯一ID生成方法

评论