首页 » PHP教程 » 随机生成idphp技巧_TypeID 一个类型安然K可排序全局独一标识符生成对象

随机生成idphp技巧_TypeID 一个类型安然K可排序全局独一标识符生成对象

访客 2024-11-16 0

扫一扫用手机浏览

文章目录 [+]

本日要给大家推举一个 GitHub 开源项目 jetpack-io/typeid,该项目在 GitHub 有超过 2.3k Star,用一句话先容该项目便是:“Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs”。

项目先容

TypeID 是一个受 Stripe IDs 启示的类型安全、K-可排序、全局唯一标识符。
它是 UUIDv7 的当代、类型安全的扩展。
TypeID 由三部分组成:类型前缀、下划线分隔符和一个利用修正过的 base32 编码的 128 位 UUIDv7。
例如,一个类型为 user 的 TypeID 可能如下所示:

随机生成idphp技巧_TypeID  一个类型安然K可排序全局独一标识符生成对象

user_2x4y6z8a0b1c2d3e4f5g6h7j8k └──┘ └────────────────────────┘ 类型 uuid 后缀 (base32)

TypeID 的优点包括:

随机生成idphp技巧_TypeID  一个类型安然K可排序全局独一标识符生成对象
(图片来自网络侵删)
• 类型安全:你不能在须要 post ID 的地方误用 user ID。
在调试时,你可以立即理解一个 TypeID 引用的实体类型是什么,这得益于类型前缀。
• 与 UUID 兼容:TypeID 是 UUID 的超集。
它们基于即将涌现的 UUIDv7 标准。
如果你解码 TypeID 并删除类型信息,你会得到一个有效的 UUIDv7。
• K-可排序:TypeID 是 K-可排序的,可以用作数据库的主键,同时担保良好的局部性。
比较于完备随机的全局 id,如 UUIDv4,TypeID 的数据库局部性更好。
• 寻思熟虑的编码:base32 编码是 URL 安全的,不区分大小写,避免了模糊字符,可以通过双击选择复制,且比 UUID 利用的传统十六进制编码更紧凑(26 个字符 vs 36 个字符)。
如何利用

TypeID 项目已经供应了 Go、SQL 和 TypeScript 的官方实现,同时也有来自社区的多种措辞实现,包括 C#、Elixir、Haskell、Java、PHP、Python 和 Ruby。
你可以根据自己的须要选择得当的实现进行利用。

同时你也可以利用如下命令行,进行干系的测试。

curl -fsSL https://get.jetpack.io/typeid | bash

项目推介

TypeID 项目由 jetpack.io 开拓和掩护,该团队在开源社区中有很高的生动度和影响力。
项目的开拓生动,社区反馈积极,已经有多个有名的开源项目和公司在利用。
如果你在探求一个类型安全、K-可排序、全局唯一的标识符办理方案,TypeID 无疑是一个值得你关注和考试测验的项目。

以下是该项目 Star 趋势图(代表项目的生动程度):

更多项目详情请查看如下链接。

开源项目地址:https://github.com/jetpack-io/typeid

开源项目作者:jetpack-io

以下是参与项目培植的所有成员:

关注我们,一起探索故意思的开源项目。

标签:

相关文章

语言游戏聚会的魅力,跨界交流的盛宴

在繁忙的都市生活中,一场别开生面的语言游戏聚会悄然兴起。这不仅是一场简单的娱乐活动,更是一次跨界交流的盛宴,一场思想的碰撞与火花。...

PHP教程 2024-12-29 阅读0 评论0

语言序列逻辑在现代传播中的运用与影响

语言序列逻辑,作为现代传播学中的重要理论之一,对于理解语言传播的规律、提高传播效果具有重要作用。在信息化、网络化时代,语言序列逻辑...

PHP教程 2024-12-29 阅读0 评论0