有谁知道如何在Java / Scala中生成基于TimeBased的UUID?
以下是列族:
CREATE table col(ts timeuuid)
我正在使用Cassandra 1.2.4
感谢您的帮助!
答案 0 :(得分:9)
Cassandra有UUIDGen用于生成Timeuuids。这方面的来源是:
答案 1 :(得分:8)
如果您使用的是Datastax驱动程序,则可以使用实用程序类UUIDs生成一个
import com.datastax.driver.core.utils.UUIDs;
....
UUID timeBasedUuid = UUIDs.timeBased();
答案 2 :(得分: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