uuid 是通用唯一识别码,它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性,理论上,在这个宇宙中不可能生成两个相同的uuid。在分布式系统中,你可以用uuid来唯一的表示一个元素,不需要中央控制端来做标识的统一分配,任何一台机器上都可以大胆放心的生成uuid。
在很多系统里,uuid都有应用,比如微软的 Microsoft's Globally Unique Identifiers (GUIDs),Linux ext2/ext3 档案系统。我在工作中也曾用到过,在于其他web服务交互时,使用uuid作为一次请求的唯一标识,在日志中记录下来,这样就可以通过uuid来串联起两个系统的调用链路信息。
uuid的算法有5种:
uuid3() 和 uuid5() 不常用,工作中使用uuid1()和uuid() 就可以了
import uuid
print(uuid.uuid1())
print(uuid.uuid3(uuid.NAMESPACE_DNS, 'coolpython'))
print(uuid.uuid4())
print(uuid.uuid5(uuid.NAMESPACE_DNS, 'coolpython'))
QQ交流群: 211426309