有谁知道如何在 Java/Scala 中生成基于时间的 UUID?
这是列族:
CREATE table col(ts timeuuid)
我正在使用 Cassandra 1.2.4
感谢你的帮助!
如果您使用的是 Datastax 驱动程序,您可以使用实用程序类 UUIDs来生成一个
import com.datastax.driver.core.utils.UUIDs;
....
UUID timeBasedUuid = UUIDs.timeBased();
Cassandra 有 UUIDGen 用于生成 Timeuuid。来源在这里:
我对 cassandra cli 使用相同的方式,对于我正在使用的列名
System.currentTimeMillis().toString
scala> val timestamp = System.currentTimeMillis().toString
timestamp: String = 1406279679674
更新
主要取决于您的行键,如果 rowKey 是您的userId
或其他东西,则不可能在毫秒内提交重复记录,但如果您认为可以重复,请使用
val timestamp = com.eaio.uuid.UUIDGen.newTime().toString