编程语言
首页 > 编程语言> > 使用Python的UUID生成唯一ID,我是否仍应检查重复项?

使用Python的UUID生成唯一ID,我是否仍应检查重复项?

作者:互联网

我正在使用Python的UUID函数为要存储在数据库中的对象创建唯一的ID:

>>> import uuid
>>> print uuid.uuid4()
2eec67d5-450a-48d4-a92f-e387530b1b8b

可以假设这确实是一个唯一的ID吗?

或者我应该仔细检查是否尚未针对我的数据库生成此唯一ID,然后才将其视为有效.

解决方法:

我会使用uuid1,它没有碰撞的机会,因为它在生成UUID时需要考虑日期/时间(除非你同时生成大量的UUID).

实际上,您可以使用reverse the UUID1值来检索用于生成它的原始纪元时间.

uuid4生成的随机ID与先前生成的值碰撞的可能性非常小,但是由于它不使用单调增加的纪元时间作为输入(或将其包含在输出uuid中),因此先前生成的值具有(非常)很小的机会在将来再次生成.

标签:python,uuid,uniqueidentifier
来源: https://codeday.me/bug/20190722/1506751.html