uuid或通用唯一标识符和timeuuid是长128位值 .
在Cassandra数据库中,由于它的概念,我使用 uuid 和 timeuuid 作为我们的实体标识符,现在我想压缩 uuid 和 timeuuid 或者当客户端(用户)可以在URL栏中看到id时减小它的大小 .
例如Twitter也使用Cassandra,但是当你打开Tweet时,Tweet的id就像 10153967535312713
但是一个简单的 uuid 就像是 10646334-2c02-11e6-bb4a-7720eb141b83
,它是更多的字符而不是用户友好的(当然这两个ID都不是用户友好的:D)
在不同的编程语言中有一些压缩函数,例如PHP中的gzcompress和Java中的GZIPOutputStream,但这些函数(类)将压缩数据并以GZIP格式返回,不允许在URL中使用!
现在顺便提一下,是否有任何方法或功能/算法来获得更小或压缩版本的uuid或timeuuid?
1 回答
很久以前Twitter最初开发了Snowflake,我相信Twitter仍在使用这个ID . 现在有many flake id implementations可以生成类似UUID而不是真正的UUID . 我在我的一个项目中使用了Flake Java .