gpt4 book ai didi

java - 为分布式系统中的每个请求生成唯一 ID

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:24 26 4
gpt4 key购买 nike

我正在尝试为 DS 中的每个请求生成唯一 ID。我正在考虑连接请求接收的随机整数和时间戳。因为获取随机整数可能会导致负值,所以我决定打印十六进制表示:

     String randomPrefix = Integer.toHexString(RANDOM.nextInt()).toUpperCase();
java.util.Date date = new java.util.Date();
String timestamp = Long.toHexString(date.getTime()).toUpperCase();
String id = randomPrefix.concat(timestamp);

我不是很擅长概率,但我想知道是否有其他操作可以在字符串长度较短的情况下导致此值同样低(甚至更好的机会看不到重复)。

通俗地说,连接应该 X 重复的机会,而加法应该 + 它(重复的机会更高)。

请建议其他方法来生成更清晰、更短的 ID(或确认这是否正确)。

P.S:请原谅我的外行语言,努力吧。 :(

最佳答案

尝试使用UUID

System.out.println(UUID.randomUUID().toString());

打印类似的东西:

3aae7d1a-8799-4a6f-8863-cde6b1782e7b

对于 ids

使用 if 是一种常见的做法

但为什么需要短随机 ID?您应该明白,使用短 ID 有更多机会获得重复项,并且 ID 通常用于程序而不是人。

关于java - 为分布式系统中的每个请求生成唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17934947/

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