前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang唯一ID生成库特征比较

Golang唯一ID生成库特征比较

作者头像
HomeboyC
发布2023-01-08 11:21:00
2.7K1
发布2023-01-08 11:21:00
举报
文章被收录于专栏:宅男的天台

前言

前段时间碰到友人在看到唯一ID的时候判断不出种类,故专门整理一下不同唯一ID的特征。

概览

包名

样例

组成成分

特征

github.com/rs/xid

9m4e2mr0ui3e8a215n4g

4 bytes of time (seconds) + 3 byte machine id + 2 byte process id + 3 bytes random

免配置,可排序

github.com/segmentio/ksuid

0ujsswThIGTUYm2K8FjOOfXtY1K

4 bytes of time (seconds) + 16 random bytes

免配置,可排序

github.com/sony/sonyflake

20f8707d6000108

~5 bytes of time (10 ms) + 1 byte sequence + 2 bytes machine id

需要机器/DC 配置,需要中央服务器,可排序

github.com/google/uuid

5b52d72c-82b3-4f8e-beb5-437a974842c

16 bytes

免配置,不可排序

github.com/kjk/betterguid

-Kmdih_fs4ZZccpx2Hl1

8 bytes of time (milliseconds) + 9 random bytes

免配置,可排序

根据对比,我推荐一般场景下用xid(虽然我之前推荐snowflake),免配置且可排序,比snowflake方便一些。

Back to posts

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 概览
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档