UUID 是全球唯一的?像 swift、Android 和 java

问题描述 投票:0回答:3

其实我有一个疑问reg。

UUID().uuidString
全球独一无二,如 Android、iOS Swift、java 等.

UUID就像

9297EEEF-FE6D-4758-88BF-4051961B8619

am 为内部数据库中的每条记录和 api 调用生成唯一 ID。其他团队(安卓和网络)也在做同样的事情。这有可能重复吗?

swift unique uuid
3个回答
0
投票

UUID().uuidString
生成一个随机的 UUID 字符串——即一个包含随机数字和字符的字符串,满足 UUID v4 规范。该字符串是一个完全随机的字符串,与生成它的操作系统无关。这是一个生成随机UUID的网站

但是,由于它的随机性,有极小的机会你会得到一个重复的 UUID(无论是在同一个平台还是另一个平台上。这个机会非常小,基本上可以忽略不计。

把UUID v4想象成一个很长的随机数,一眼就可以很容易地识别为UUID。


0
投票

我同意 CryptoAlgorithm 的观点,这是一个随机字符串,与生成它的操作系统无关。不过,我们确实遇到了重复的情况,总共只生成了几千个。在生产中你可能会发生这种微小的重复机会,所以考虑像 Kathiresan Murugan 建议的那样做一些事情,并添加一些你自己的带有日期和时间的文本。


-1
投票

我想是的,所以,计划添加一些参数,如静态文本,以及带秒的日期、时间。

String(format: "%@-IOS-%@", UUID().uuidString, Date().toString(format: "ddMMyyyyHHmmss"))

所以,我认为重复率会降低。

我的结果是:

9297EEEF-FE6D-4758-88BF-4051961B8619-IOS-17112022153206

© www.soinside.com 2019 - 2024. All rights reserved.