9

有谁知道如何在 Java/Scala 中生成基于时间的 UUID?

这是列族:

CREATE table col(ts timeuuid)

我正在使用 Cassandra 1.2.4

感谢你的帮助!

4

3 回答 3

15

如果您使用的是 Datastax 驱动程序,您可以使用实用程序类 UUIDs生成一个

import com.datastax.driver.core.utils.UUIDs;
....
UUID timeBasedUuid = UUIDs.timeBased();
于 2017-04-03T19:32:04.183 回答
9

Cassandra 有 UUIDGen 用于生成 Timeuuid。来源在这里:

https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/utils/UUIDGen.java

于 2014-07-25T09:16:14.907 回答
4

我对 cassandra cli 使用相同的方式,对于我正在使用的列名

System.currentTimeMillis().toString

scala>     val timestamp = System.currentTimeMillis().toString
timestamp: String = 1406279679674

更新

主要取决于您的行键,如果 rowKey 是您的userId或其他东西,则不可能在毫秒内提交重复记录,但如果您认为可以重复,请使用

val timestamp = com.eaio.uuid.UUIDGen.newTime().toString
于 2014-07-25T09:13:45.267 回答