生成唯一ID的公式?

2023-12-14

我想了解一些关于在不使用 GUID 的情况下生成唯一 id 的想法。最好我希望唯一值是 int32 类型。

我正在寻找可用于数据库主键以及 url 友好的东西。

这些可以被认为是独特的吗?

  1. (int)DateTime.Now.Ticks
  2. (int)DateTime.Now * RandomNumber

还有其他想法吗?

Thanks

编辑:嗯,我正在尝试实践领域驱动设计,我的所有实体在创建时都需要有一个 ID 才能有效。理论上我可以调用数据库来获取自动递增的数字,但宁愿避开这一点,因为与数据库相关的东西正在进入域。


这取决于您需要它的独特性以及您需要为其提供 ID 的项目数量。你最好的选择可能是按顺序分配它们;如果您尝试变得奇特,您可能会遇到生日悖论(冲突的可能性比您预期的更大)或(如上面的情况 1))被迫限制您可以发行它们的速率。

对于大多数情况,您的 1) 比 2) 好一点;它是有速率限制的——每个刻度不能发出超过 1 个 ID——但不易受到生日悖论的影响。你的2)只是扔掉一些东西。与随机数进行异或运算可能会稍微好一点,但无论如何,我认为兰特不会给你带来任何东西,只是隐藏了问题并使其更难修复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成唯一ID的公式? 的相关文章

  • 将 GUID 转换为 varchar(32)

    我怎样才能转换一个GUID36字符到 VARCHAR 32 我正在尝试将数据从一个表复制到另一个表 这两个表中有两个相似的列 表1 colx是一个 GUID 所以它是36由于连字符而导致的总字符长度 对应的列是表2 colx但它是一个 VA
  • 我应该使用 Path.GetRandomFileName 还是使用 Guid?

    我需要生成唯一的文件夹名称 我应该使用路径 GetRandomFileName http msdn microsoft com en us library system io path getrandomfilename 28v vs 11
  • 如何在 VBA 中将 GUID 分配给 DAO 参数

    我有一段代码可以归结为 dim stmt as dao queryDef dim parId as dao parameter set stmt currentDB createQueryDef parameters id guid ins
  • ShellExecuteEx 引导路径

    我有一条形式的路径 26EE0668 A00A 44D7 9371 BEB064C98683 0 Fonts 如果我将其输入到资源管理器地址栏中 它会正确打开控制面板 字体 如何使用 ShellExecuteEx 或类似的东西 包含 gui
  • 如何用C语言生成GUID?

    我想生成插入 SQLite 数据库的 guid 即数据库本身不支持 但是 我想控制某些属性 用于生成不断增加的指导值的有序性 计算机独立性 数据库是公共的 可能 可能不希望 guid 允许某人将数据追溯到特定机器 足够 的随机性 guid
  • 将 .NET Guid 转换为 MongoDB ObjectID

    如何将 NET GUID 转换为 MongoDB ObjectID 在 C 中 另外 我可以将其再次从 ObjectID 转换回相同的 GUID 吗 你无法转换ObjectId into GUID反之亦然 因为它们是两个不同的东西 不同的大
  • Android 唯一序列号

    我正在开发一个针对 Android 4 0 API 14 及更高版本的 Android 应用程序 我正在寻找每个设备唯一且永久存在的序列号 随设备一起死亡 恢复出厂设置后不会更改 我在网上找到了很多关于 Android 设备唯一标识符的结果
  • 在 Delphi IDE 中生成新的随机 GUID

    如何在 Delphi IDE 中生成随机的新 GUID 我使用的是Delphi 2007 Just press Ctrl Shift G
  • 打印 GUID 变量

    我有一个 GUID 变量 我想在文本文件中写入其值 GUID的定义是 typedef struct GUID size is 16 DWORD Data1 WORD Data2 WORD Data3 BYTE Data4 8 GUID 但我
  • GUID:varchar(36) 与 uniqueidentifier

    我正在使用一个将 GUID 值存储为 varchar 36 数据类型的旧数据库 CREATE TABLE T Rows RowID VARCHAR 36 NOT NULL PRIMARY KEY RowValue INT NOT NULL
  • GUID 或 GUID 的 SHA1 哈希之间发生冲突的可能性是否更大?

    之间发生碰撞的机会是否更大GUID s 128 位 或 SHA1 哈希值GUID s 160 位 我的观点是 机会较小GUID 即使少了 32 位 因为它有一些特殊的机制来确保它 几乎 因为没有保证 唯一 例如 时间戳 注意 我已经知道GU
  • 在 Linux 上获取机器 ID 的最佳方法?

    获取唯一机器 ID 的最佳实践方法是什么GNU Linux for i386建筑学 除了这个还有什么好的办法吗mac地址 根据您的内核 DMI 信息可能可以通过 sysfs 获得 尝试一下 cat sys class dmi id boar
  • 如何生成随机 Base36 ID

    有没有办法生成random Base36 标识符 http en wikipedia org wiki Base 36在 SQL Server 中是否有定义的字符数 我搜索并找到了许多将基数 36 转换为 int 的示例 反之亦然 但没有找
  • C++ 中独立于平台的 GUID 生成?

    在 C 中以编程方式生成 GUID 或 UUID 而不依赖于特定于平台的工具的最佳方法是什么 我正在尝试为模拟中的对象创建唯一标识符 但不能依赖 Microsoft 的实现 因为该项目是跨平台的 Notes 由于这是针对模拟器的 所以我 并
  • 使用 MySQL 时,在 NHibernate 中使用 Guid 作为 Id 列会导致格式异常

    当我定义 NHibernate 实体 映射以使用 Guid 作为标识列时 我收到一个异常 Guid 列生成为 varchar 40 但内容似乎是二进制的 有针对这个的解决方法吗 目前我只使用普通的 ol int 但如果知道对于未来的项目会很
  • 如何将目录路径转换为唯一的数字标识符 (Linux/C++)?

    我正在研究获取目录 文件夹 并派生某种形式的唯一数字标识符的方法 我研究了 字符串到哈希 方法 但是 鸽子洞原理 http www codinghorror com blog 2007 12 hashtables pigeonholes a
  • TypeScript GUID 类? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道在 TypeScript 中像 GUID UUID 这样的 C 的良好 可靠的实现吗 我自己可
  • 为什么 OpenGL 给对象提供句柄而不是指针?

    OpenGL 的传统是让用户使用 unsigned int 句柄来操作 OpenGL 对象 为什么不直接给出一个指针呢 与指针相比 唯一 ID 有何优点 TL DR OpenGL ID 不会双射映射到内存位置 单个 OpenGL ID 可能
  • SQL Server 2008 GUID 列全为 0

    我希望这是我做的一个简单的傻事 我的数据库中有一个表 设置如下 column name widget guid data type uniqueidentifier allow nulls false default value newid
  • Guid.NewGuid().GetHashCode() 用于数据库

    这对于用作数据存储 SQL Server 的 ID 可靠吗 我会使用 guid 但我更喜欢数字值 A guid更有可能代表一个记录uniquely than a numeric value 随着 GUID 确保全球唯一性 GUID 可以跨数

随机推荐

  • 如何在 python 中编写自定义编码来清理数据?

    我知道我以前在另一份工作中做过这样的事 但我不记得我做了什么 我有一个数据库 里面充满了 varchar 和 memo 字段 这些字段是从 Office 网页以及谁知道其他地方剪切和粘贴的 这开始给我带来编码错误 由于 Python 有一个
  • IntersectionObserver 和位置:绝对

    当观察到的元素有时 IntersectionObserver 似乎不起作用position absolute并且根不是 视口 我在这里错过了什么吗 尝试删除position absolute查看预期结果 let intersectionRo
  • python 可以处理未计算的表达式参数吗?

    我想将一条语句传递给 python 函数 该语句只应在我在函数中执行其他操作后执行 默认情况下 python 计算语句 然后将其结果作为参数传递 有什么办法可以改变这种行为吗 我发现的唯一方法是将语句包装在函数中 然后传递该函数 大多数 P
  • 如何将 LinearGradient 添加到垂直 SVG 线[重复]

    这个问题在这里已经有答案了 我正在尝试为线条的笔划添加渐变 该线条在顶部淡出 但没有运气 实际上 我的工作原理是这样的 但即使在 Chrome 中 某些 SVG 尺寸也会出现浏览器问题 其中渐变会中断并且是固定的
  • MacOS X 10.6.2 上的 Perl:GDBM_File 丢失,如何安装或解决?

    当我需要 Perl 模块时 我通常使用 CPAN 效果很好 但这次不是 我想使用MARC Charset 但是这个使用GDBM File 而且我似乎无法从CPAN安装GDBM File CPAN 发现一切正常 但尝试安装它时 它开始安装完整
  • 为什么 useState 会让组件渲染两次?

    也许你们中的一些人可以让我睁开眼睛 我不明白为什么在这段代码中 https codesandbox io s use state renders twice 6r1xl组件 App 在安装并单击按钮时渲染两次 console log 被调用
  • Qt 中的自定义圆形进度条[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我可以在覆盖时在 qt 中执行循环进度条paintEvent小部件并绘制圆形进度条 但在主圆形进度条后面的第二个圆形进度条 无法像这样绘制 有困难 有人可以指导我吗 预先感谢 我
  • 如何使用R中的“bootstrap函数”计算置信区间

    我正在尝试计算R中的置信区间 由于一些特殊原因 我必须使用 bootstrap 包中的函数来计算 这意味着我不能使用 boot 包中的函数 这是我的代码 我正在做的是尝试计算 Pearson 相关系数 然后应用 Bootstrap 方法 B
  • awk 不匹配所有匹配我的所有条目

    我正在尝试制作 脚本 本质上是一个 awk 命令 来提取 c 文件中 C 代码函数的原型 以自动生成标头 h 我是 awk 的新手 所以我不了解所有细节 这是源 c 的示例 dict t dictup dict t d const char
  • Jetty:如何在 Jetty 客户端使用 SSL

    我正在使用 Jetty 开发我的客户端应用程序端 我没有在服务器部分使用 Jetty 我需要在客户端配置什么才能使用 Jetty 客户端发送 https 请求 这就是我对 HTTP 客户端所做的事情 httpClient new HttpC
  • JsonConvert.DeserializeObject 特殊字符 未终止的字符串。预期分隔符:

    由于某种原因 当我的淘汰模型中有一个特殊字符并将其转换为 json 对象时 字符串在特殊字符应该在的位置结束 并且在反序列化时出现错误 ajax url Admin Forms Convert type post contentType a
  • Retrofit 2 的定制转换器

    我必须处理动态 JSON 响应 之前 我使用类和注释如下 public class ChatResponse SerializedName status private int status SerializedName error pri
  • 在哪里删除 Swift 中 NSNotification 的观察者?

    我应该在哪里删除观察者NSNotification在斯威夫特 因为viewDidUnload and dealloc 不可用 As of iOS 9 和 OS X 10 11 你不需要移除观察者你自己 如果你不使用基于块的观察者的话 系统会
  • 为什么 IIS Express 在加载 javascript 和 CSS 时返回 HTTP 500 错误?

    我正在尝试使用 IIS Express 开发 ASP NET MVC5 解决方案进行本地调试 通常 Chrome 在尝试加载某些 JS 和 CSS 文件时会报告 HTTP500 错误 有些使用 MVC 的内置捆绑和缩小功能 有些则使用自己的
  • 错误:使用 wikixmlj 解析 xml 文件时出现 xml.sax.SAXParseException

    我正在使用解析维基百科 xml 转储wikixmlj并收到以下错误 org xml sax SAXParseException lineNumber 64243259 columnNumber 371 JAXP00010004 The ac
  • Nodejs FS 模块返回 no such file or dir 错误

    Code fs readdir commands err files gt Do something Error ENOENT 没有这样的文件或目录 scandir commands 文件夹 commands does存在 这个文件是src
  • MapKit 中的 MapTypeStyle

    我想知道是否有任何方法可以配置我们的 MapKit 地图 就像我们在 Google 地图 API 中使用 MapTypeStyle 对象一样 如果我参考Apple文档 MKMapView有一个mapType选项 它需要MKMapType常量
  • MySQL删除语句优化

    我有一些删除查询要针对一些相当大的表 100 GB 运行 并且我想尽可能地优化它们 delete from table1 where column1 lt date sub now interval 100 hour 第 1 列是datet
  • 如何使用 C# .NET 将屏幕捕获为视频?

    是否有一些库可以将屏幕捕获为压缩视频文件或可以执行此操作的某种解决方案 此代码使用 NuGet 上提供的 SharpAvi using System using System Drawing using System Drawing Ima
  • 生成唯一ID的公式?

    我想了解一些关于在不使用 GUID 的情况下生成唯一 id 的想法 最好我希望唯一值是 int32 类型 我正在寻找可用于数据库主键以及 url 友好的东西 这些可以被认为是独特的吗 int DateTime Now Ticks int D