2009-04-24 84 views
2

創建會話ID時,通常不檢查ID的唯一性。在處理數十億條記錄時,驗證獨特性是一個很大的開銷。確定會話ID字符串長度以確保唯一性

我想知道隨機會話ID字符串的長度應該足夠依賴於生產服務中的唯一性,例如與Gmail一樣大。

任何其他建議,以保持適當的會議獨特性將受到歡迎。

謝謝,

羅伊。

回答

9

如果你有一個相當好的隨機數發生器,一個隨機的128位ID(例如GUID)在實踐中應該始終是唯一的(數學上說,有一個很小的機會會有重複,但相信我,它不會發生,宇宙將在一個巨大的黑洞中崩潰,然後纔會有一個重複的GUID。)

+0

Woot我剛剛給你10k:D – 2009-04-24 12:06:17

3

而不是隨機產生自己的號碼,爲什麼不......

  • 使用GUID(128位)
  • 使用包含的年,月,日,小時,分鐘的串,秒,毫秒或納秒

如果您使用128位隨機數,那麼您在3.40282366921e + 38中有一個獲得重複的機會。假設你的數字是真正的隨機數。

0

某些用戶數據和當前全部時間的SHA-256散列,可用應該讓你有足夠的獨特性。