Python 是否可以创建一个基于特定时间点保证为幂等的timeuuid?

Python 是否可以创建一个基于特定时间点保证为幂等的timeuuid?,python,cassandra,cql3,Python,Cassandra,Cql3,我正在处理为基于分布式应用程序的一系列对象创建唯一ID的问题,我想利用UUID。我知道版本1的uuid是基于时间的,我想知道,如果给定一个固定的时间点,是否有可能创建一个保证是幂等的uuid?一个幂等的时间uuid?mintimeuuid()函数可能会在这里帮助您。以这个简单的表定义为例,它使用timeuuid作为集群键: CREATE TABLE stackoverflow2.timeuuids ( bucket text, value timeuuid, PRIMAR

我正在处理为基于分布式应用程序的一系列对象创建唯一ID的问题,我想利用UUID。我知道版本1的uuid是基于时间的,我想知道,如果给定一个固定的时间点,是否有可能创建一个保证是幂等的uuid?

一个幂等的时间uuid?
mintimeuuid()
函数可能会在这里帮助您。以这个简单的表定义为例,它使用
timeuuid
作为集群键:

CREATE TABLE stackoverflow2.timeuuids (
    bucket text,
    value timeuuid,
    PRIMARY KEY (bucket, value));
将带有时间戳值的行插入(text)time
bucket
,并使用与
mintimeuuid()函数相同的时间戳值。多次运行相同的插入:

aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
aploetz@cqlsh:stackoverflow2> INSERT INTO timeuuids (bucket, value) VALUES ('2015-05-18 09:31',mintimeuuid('2015-05-18 09:31'));
并查询您的时间段:

aploetz@cqlsh:stackoverflow2> SELECT * FROM timeuuids WHERE bucket='2015-05-18 09:31';

 bucket           | value
------------------+--------------------------------------
 2015-05-18 09:31 | 80f72a00-fd6a-11e4-8080-808080808080

(1 rows)
请注意,只返回一行。有关更多信息,请查看。

请参阅;您需要提供
clock_seq
,并使用相同的主机ID运行。