0

我有一个可以快速将数据插入数据库的函数,我还需要为每个函数存储一个唯一的整数。

我正在考虑使用四舍五入的微时间,但是由于同时运行多个脚本,我担心会遇到冲突。

有人可以推荐一个解决方案吗?

4

2 回答 2

1

您确实应该更喜欢一种由数据库递增生成 ID 的机制。

您可以查看uuid 模块以在 Python 端生成随机 ID:

该模块提供不可变的 UUID 对象(UUID 类)和函数 uuid1()、uuid3()、uuid4()、uuid5(),用于生成 RFC 4122 中指定的版本 1、3、4 和 5 UUID。

根据RFC 4122 [强调我的]:

本规范为 UUID(通用唯一标识符)定义了统一资源名称命名空间,也称为 GUID(全局唯一标识符)。 UUID 的长度为 128 位,可以保证跨时空的唯一性。 UUID 最初用于 Apollo 网络计算系统,后来用于开放软件基金会 (OSF) 的分布式计算环境 (DCE),然后用于 Microsoft Windows 平台。

该规范源自 DCE 规范,并获得了 OSF(现称为 The Open Group)的许可。来自 DCE 规范的早期版本的信息已包含在本文档中。

于 2013-03-11T08:17:27.890 回答
0

有几种可能的方法:

  1. 将唯一 ID 的生成委托给数据库引擎。许多发动机提供了这样的设施。
  2. 拥有一个您自己的集中式服务来生成 id,并让您的脚本与该服务对话。
  3. 让每个脚本生成自己的 id;为确保唯一性,将脚本唯一的令牌(例如进程 ID 和/或 IP 或 MAC 地址)合并到 id 中。
于 2013-03-11T07:57:44.610 回答