1

uuid或通用唯一标识符和timeuuid是长 128 位值。

在 Cassandra 数据库中,由于它的概念,我使用uuidtimeuuid作为我们的实体标识符,现在我想压缩uuidtimeuuid或在客户端(用户)可以在 URL 栏中看到 id 时减小其大小。

例如 Twitter 也使用了 Cassandra,但是当你打开一条推文时,推文的 id 就像10153967535312713一个简单的uuid那样10646334-2c02-11e6-bb4a-7720eb141b83是更多的字符而不是用户友好的(当然这两个 ID 都不是用户友好的 :D)

在不同的编程语言中都有一些压缩函数,例如PHP中的gzcompress和 Java 中的GZIPOutputStream ,但是这些函数(类)将压缩数据并以 GZIP 格式返回,不允许在 URL 中使用!

现在顺便说一句,是否有任何方法或函数/算法来获得 uuid 或 timeuuid 的更小或压缩版本?

4

1 回答 1

5

Twitter 最初开发Snowflake是很久以前的事,我相信 Twitter 仍在使用的正是这个 id。现在有许多可用的 flake id 实现可以生成类似 UUID 的数字而不是真正的 UUID。我在我的一个项目中使用了Flake Java

于 2016-06-06T21:58:36.743 回答