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