【问题标题】:how to compress uuid and timeuuid?如何压缩uuid和timeuuid?
【发布时间】:2016-10-06 15:21:31
【问题描述】:

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

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

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

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

顺便说一句,有没有什么方法或函数/算法可以得到更小的或压缩版本的 uuid 或 timeuuid?

【问题讨论】:

  • UUID 极不可能被压缩——你不能压缩随机数据,而且 UUID 通常是随机的。 (并且任何较短的随机数据都有相应更高的可能性实际上不是唯一的。)

标签: java php cassandra uuid timeuuid


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 2019-12-06
    • 2013-07-08
    相关资源
    最近更新 更多