uuid或通用唯一标识符和 timeuuid是长 128 位值。
在 Cassandra 数据库中,由于它的概念,我使用 uuid 和 timeuuid 作为我们的实体标识符,现在我想压缩 uuid 和 < strong>timeuuid 或当客户端(用户)可以在 URL 栏中看到 id 时减小其大小。
例如 Twitter 也使用 Cassandra,但是当您打开一条推文时,推文的 ID 类似于 10153967535312713
而一个简单的 uuid 类似于 10646334-2c02-11e6 -bb4a-7720eb141b83
字符较多且用户不友好(当然两个 ID 都不是用户友好的 :D)
在不同的编程语言中都有一些压缩函数,比如gzcompress在 PHP 和 GZIPOutputStream在 Java 中,但这些函数(类)将压缩数据并以不允许在 URL 中使用的 GZIP 格式返回!
顺便说一句,有什么方法或函数/算法可以得到更小或压缩的 uuid 或 timeuuid 版本吗?
最佳答案
Twitter 最初开发Snowflake很久以前,我相信 Twitter 仍在使用的就是这个 ID。现在有many flake id implementations available 可以生成类似数字的 UUID 而不是真正的 UUID。我用过Flake Java在我的一个项目中。
关于java - 如何压缩uuid和timeuuid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37667232/