来自同一台计算机上多个进程的唯一 UUID

AFo*_*lia 5 python uuid

为了标记我们创建的数据,我正在考虑使用 uuid。安全性不是问题,所以我打算使用版本 1(基于日期和 mac 地址)。唯一的问题是每个用户可能会从具有多个线程的不同进程同时创建多个数据文件。假设 Python 的 uuid 库是线程安全的(尽管看起来并非如此),但仍然存在多进程问题。我正在考虑在 uuid 后面加上破折号和进程号。

由于我们小组对 uuid 的经验很少,有什么需要注意的问题吗?通常如何处理多进程问题?

Wim*_*nen 4

只需使用uuid4来获得完全随机的 UUID。无需担心碰撞。

编辑回应评论:根据我的经验,冗余数据迟早会导致不一致。避免冗余是关系数据库设计的教条是有原因的。

因此,不要将 UUID 用作实际“原始计算机”和“时间戳”数据的“冗余备份”。要么将其用作不携带其他信息的纯粹唯一 ID,要么根本不使用它。