r.uuid() 保证是唯一的吗?
Is r.uuid() guaranteed to be unique?
是否保证r.uuid()
是独一无二的?
Return a UUID (universally unique identifier), a string that can be used as a unique ID.
通用如何r.uuid()
?它的范围是 RethinkDB 的 table/database/instance 吗?或者它只是计算随机字节序列的哈希值(例如 /dev/rand
)?或者它是否散列 nano-unix 时间?
UUID 表示全球唯一标识符。在这种情况下 unique 这个词应该理解为 "practically unique" 而不是 "guaranteed unique"。由于标识符的大小有限,因此两个不同的项可能共享相同的标识符。这是 hash collision.
的一种形式
任何人都可以创建一个 UUID 并使用它来标识某些东西,并且有合理的信心确保相同的标识符永远不会被任何人无意地创建来标识其他东西。
UUID 只是一个 128 位的值。
您可以在 here 中查看相关问题的答案。
UUID 应该是唯一的,因为冲突的可能性非常低。虽然理论上它们可能不是唯一的,因为它是生成 UUID 的随机算法,但您几乎不会生成重复项。
他们从 Wikipedia 说,对于 68,719,476,736
生成的 UUID(这对于普通应用程序来说是一个非常大的数字)你有 0.0000000000000004
意外冲突。 几乎不可能..
是否保证r.uuid()
是独一无二的?
Return a UUID (universally unique identifier), a string that can be used as a unique ID.
通用如何r.uuid()
?它的范围是 RethinkDB 的 table/database/instance 吗?或者它只是计算随机字节序列的哈希值(例如 /dev/rand
)?或者它是否散列 nano-unix 时间?
UUID 表示全球唯一标识符。在这种情况下 unique 这个词应该理解为 "practically unique" 而不是 "guaranteed unique"。由于标识符的大小有限,因此两个不同的项可能共享相同的标识符。这是 hash collision.
的一种形式任何人都可以创建一个 UUID 并使用它来标识某些东西,并且有合理的信心确保相同的标识符永远不会被任何人无意地创建来标识其他东西。
UUID 只是一个 128 位的值。
您可以在 here 中查看相关问题的答案。
UUID 应该是唯一的,因为冲突的可能性非常低。虽然理论上它们可能不是唯一的,因为它是生成 UUID 的随机算法,但您几乎不会生成重复项。
他们从 Wikipedia 说,对于 68,719,476,736
生成的 UUID(这对于普通应用程序来说是一个非常大的数字)你有 0.0000000000000004
意外冲突。 几乎不可能..