gpt4 book ai didi

c# - 我可以使用 Guid 的前 16 个或后 16 个字符并且它仍然是唯一的吗?

转载 作者:行者123 更新时间:2023-11-30 19:28:28 25 4
gpt4 key购买 nike

目标

生成一个唯一的 16 个字符的 key ,用作批处理名称,不需要任何类型的存储(例如一个唯一的计数器)。

背景

我有一项 Windows 服务每 30 秒运行一次。我从 MQ 中提取消息并批量处理它们。我正在进行的服务调用之一是现在需要 16 个字符的批处理名称。 他们不关心批处理名称是什么,它只需要在所有批处理中都是唯一的。

问题

如果我生成 Guid , 我可以使用该字符串的前 16 个或后 16 个字符,并且它仍然是唯一的以满足我的需要吗?

最佳答案

没有。

Raymond Chen 在 GUIDs are globally unique, but substrings of GUIDs aren't 中详细解释了原因。 .

但是,如果您在一台机器上运行它,那么您不需要您的 ID 全局唯一 - 只需在本地唯一即可。因此,您可以从他描述的 GUID 算法中删除 MAC 地址要求。另外,如果你知道每 30 秒只会生成一个,你可以放弃算法的碰撞部分。这几乎让您按照 qujck 的建议使用日期时间。

关于c# - 我可以使用 Guid 的前 16 个或后 16 个字符并且它仍然是唯一的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15293487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com