java - 如何压缩uuid和timeuuid?

标签 java php cassandra uuid timeuuid

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

在 Cassandra 数据库中,由于它的概念,我使用 uuidtimeuuid 作为我们的实体标识符,现在我想压缩 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/

相关文章:

java - 使用 DataStax Java 驱动程序向 Cassandra 发出 1000 个并发请求时出现 NoHostAvailableException

elasticsearch - ElasticSearch与ElasticSearch + Cassandra

java - Android字节数组批处理

PHP/MySQL 生成表

php - 在yii中通过registerScript将id设置为脚本

php - ffmpeg命令视频和音频的输出视频文件不匹配

java - 如何在 Java 中获取本地应用程序数据文件夹?

java - jackson 单独使用字段名称对响应进行排序

java - iBatis 3、JAVA、ORACLE 及函数

java - 在同一列上的 achilles cassandra 中使用 @ClusteringColumn 和 @Index