背景: I
有
正在接管作爲某些相對較慢後端服務的緩存層的應用程序(原始工程師正在離開)。由於它是REST風格的URL,每個URL都是唯一的。該應用程序使用MongoDb作爲緩存存儲,並使用散列值作爲緩存。雖然哈希碼應該是非常獨特的,但它不是唯一的。MongoDB中的_id長度是否有限制
問題:我被告知使用哈希碼(而不是url)的原因是因爲MongoDb的_id字段的長度有限制,但我找不到任何文檔。我在MongoDb文檔中找到的所有內容都是「_id字段只要是唯一的就可以是數組以外的任何其他字段」。 MongoDb的_id字段是否有長度限制?如果是這樣,限制尺寸是多少?
該應用程序是用Java編寫的。哦,我是MongoDb的新手。
啊,謝謝。 _id中的長字符串值也很尷尬。真正的解決辦法是處理碰撞,但這就是其他故事。 – Alvin 2012-04-19 08:44:42
從本質上來說,哈希值很難保證是唯一的。因此,我不會將散列存儲爲_id值(這些值必須是唯一的),並且不應要求進行碰撞檢查。也就是說,爲您的REST URI創建縮短的URL應該是完全可能的,它只需要縮短代碼中的一些應用程序感知。 – 2012-04-19 08:58:22
感謝您的建議!欣賞它。 – Alvin 2012-04-19 09:13:38