是r.uuid()
保证是唯一的?r.uuid()保证是唯一的吗?
返回一个UUID(通用唯一标识符),一个可以用作唯一ID的字符串。
如何通用是r.uuid()
?它的作用域是RethinkDB的表/数据库/实例吗?还是仅仅计算随机字节序列的散列(例如/dev/rand
)?或者它是否会散列nano-unix时间?
是r.uuid()
保证是唯一的?r.uuid()保证是唯一的吗?
返回一个UUID(通用唯一标识符),一个可以用作唯一ID的字符串。
如何通用是r.uuid()
?它的作用域是RethinkDB的表/数据库/实例吗?还是仅仅计算随机字节序列的散列(例如/dev/rand
)?或者它是否会散列nano-unix时间?
UUID表示通用唯一标识符。在这方面,这个单词应该被认为是“实际上唯一”而不是“保证唯一”。由于标识符的大小是有限的,因此两个不同的项目可以共享相同的标识符。这是hash collision的一种形式。
任何人都可以创建一个UUID,并用它来确定某些具有合理可信度的内容,即任何人都不会无意识地创建相同的标识符以识别其他内容。
UUID只是一个128位的值。
我知道的定义,但我很好奇,特别是'r.uuid()'的随机性的来源。 – jpillora
然后我们需要详细研究源代码(https://github.com/rethinkdb/rethinkdb/blob/next/src/containers/uuid.cc) –