Twitter的Snowflake UUID生成器有Python实现吗?

6
我需要一个顺序UUID生成器,就像Twitter的Snowflake - https://github.com/twitter/snowflake/
但是Snowflake是用Scala实现的,我在Python世界中找到一个类似的项目,而不是Scala。
2个回答

3

1

2
感谢您的评论。但我认为Python UUID不能提供我想要的相同或类似的结果。请参见https://dev59.com/I2oy5IYBdhLWcg3wMLOj - lqez
1
@lqez 你是否知道当前版本的Python允许你为排序提供一个键函数吗?如果你使用uuid1()或另一个包括时间戳的函数来创建UUID,你应该能够在使用任何排序系统的参数中包含key=lambda id: id.timekey=operator.attrgetter('time'),并且不会有任何问题。如果其他方式都失败了,而你正在使用Python 3.2,你可以子类化uuid.UUID并使用functools.total_ordering()来设置它。 - JAB
当然,您仍然可以在早期版本的Python中使用子类化,只是需要编写更多的代码,因为您必须手动定义所有比较函数。 - JAB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接