1
3
您仍然应该使用uuid的原因有几个。 首先,因为并发问题的理论是,它们总是不太可能发生。然而,实践表明,它们确实经常发生。 还可以想象有人试图在你的软件中发现bug。首先,这个人会非常困惑,你只是使用系统时间,并假设他正在寻找的bug与并发相关。他可能会花几个小时来调试。 最后,保存这几位是没有意义的。即使你存储了100万个长值,你也会使用不到7 mb的空间——这在现在的手机上甚至是零——尽管有服务器。 因此,添加该值不仅可以提高应用程序的健壮性(和可理解性),还可以确保您不会每天都在工作。com;) |
2
2
时间是计算机中最难处理的事情之一。跨设备的同步是困难的,并且即使对于单个设备时间也可能不是严格单调的,例如,由于调整以校正时钟漂移。这现在可能可行,但使用时间作为标识符将给你带来麻烦,因为你必须处理时区等。 在您的情况下,我更希望使用哈希函数来创建标识符。通过相应地选择哈希函数,您可以调整冲突的可能性,如果需要,还可以在哈希数据中包含时间。通过对所有相关数据进行哈希运算,可以确保只有真正的重复和冲突才会产生相同的值。哈希的优点是它在没有同步的情况下到处都会产生确定性结果。 第二种选择是随机选择一个,但在这种情况下,你需要一个好的熵源,而且它通常比哈希更昂贵,更不可预测。 当然,如果标识符可以由单个实体选择,计数器也是一个选项。对于多方来说,它需要同步,因此不太适合大型同步组。 |
3
0
uuid的最佳方法是使用
但如果您不满意,请尝试使用
|
Anton Konikov · 转换为单一时区的日期[重复] 6 年前 |
MrEmper · Java-自动生成当前日期+用户输入时间 6 年前 |
R A · 尝试为我的HTML游戏创建最快时间的高分 6 年前 |
Chintan7027 · MYSQL以数字时间格式计算日期差 6 年前 |
user3725021 · 将字符数据帧列转换为分数时间 6 年前 |
Ramesh S · 如何按时间禁用当前日期? 6 年前 |
Faisal Alzahrani · 用Java计算程序的Big-O 6 年前 |