【发布时间】:2009-04-24 20:20:59
【问题描述】:
创建会话 ID 时,通常不会检查 ID 的唯一性。在处理数十亿条记录时,验证唯一性是一项很大的开销。
我想知道随机会话 ID 字符串的长度应该足以在生产服务中依赖于唯一性,例如 Gmail。
欢迎任何其他保持适当会话唯一性的建议。
谢谢,
罗伊。
【问题讨论】:
标签: session
创建会话 ID 时,通常不会检查 ID 的唯一性。在处理数十亿条记录时,验证唯一性是一项很大的开销。
我想知道随机会话 ID 字符串的长度应该足以在生产服务中依赖于唯一性,例如 Gmail。
欢迎任何其他保持适当会话唯一性的建议。
谢谢,
罗伊。
【问题讨论】:
标签: session
如果您有一个相当好的随机数生成器,那么一个随机的 128 位 ID(例如 GUID)在实践中应该始终是唯一的(从数学上讲,存在重复的可能性很小,但相信我,这不会发生。宇宙将在一个巨大的黑洞中坍塌,然后才会有重复的 GUID。)
【讨论】:
与其随机生成自己的号码,不如……
如果您使用 128 位随机数,则 3.40282366921e+38 中的 1 有可能获得重复。假设你的数字是真正随机的。
【讨论】:
一些用户数据的 SHA-256 哈希值和当前具有尽可能多的可用资源的全职时间应该可以为您提供足够独特的东西。
【讨论】: