代码之家  ›  专栏  ›  技术社区  ›  Roy Peleg

确定会话ID字符串长度以确保唯一性

  •  2
  • Roy Peleg  · 技术社区  · 17 年前

    创建会话ID时,通常不会检查ID的唯一性。在处理数十亿条记录时,验证唯一性是一项巨大的开销。

    我想知道,在像Gmail这样大的生产服务中,随机会话ID字符串的长度应该足够用于唯一性。

    欢迎提出任何其他建议,以保持适当的会议独特性。

    罗伊。

    3 回复  |  直到 17 年前
        1
  •  9
  •   Tamas Czinege    17 年前

    如果你有一个相当好的随机数生成器,那么随机的128位ID(如GUID)在实践中应该始终是唯一的(从数学上讲,存在重复的可能性很小,但相信我,这不会发生。在出现重复的GUID之前,宇宙将在一个巨大的黑洞中坍缩。)

        2
  •  3
  •   Brian R. Bondy    17 年前

    • 使用 GUID (128位)
    • 使用包含年、月、日、小时、分钟、秒、毫秒或纳秒的字符串

    如果你使用128位随机数,那么你有3.40282366921e+38的机会得到一个重复的1。假设你的数字真的是随机的。

        3
  •  0
  •   vezult    17 年前

    一些用户数据的SHA-256哈希值和当前的全职时间,以及尽可能多的可用资源,应该能让你得到足够独特的东西。