2011-06-18 48 views
1

在我們的Web應用程序中,我們顯示一個脈衝列表,但是對於鏈接等,我們使每個脈衝都可用。在我們的Couch DB中,我們將每個脈衝都通過獨特的屬性賦予唯一的ID。 I.E .: www.foo.com/bar/帶散列的漂亮URL(md5)

儘管這些md5總和非常長,並且會產生醜陋的URL。是否有另一種方法來散列需要較少字符但仍保證唯一性的屬性。

非常感謝

回答

1

而不是創建一個醜陋的md5的你可以使用的方法like this創建包含certain charactersrandom string一個given length並插入到旁邊md5行的行被用於檢索數據這從數據庫使用'漂亮的url'字符串。有一點需要考慮的是從可能的角色中取出元音,就像他們一樣,你最終可能會寫出不好的單詞:)另外,確保它在數據庫中當然不存在,如果它只是創建另一個......雖然不會經常發生。

+0

但是不是很有可能是兩個id的重疊...會有數百個thounsands的脈衝(希望) –

+0

不是真的 - 比如有10個數字和26個字母可能會形成你獨特的漂亮的url和你想要它是5個字符長,我認爲有36^5個可能的排列。給你很少的碰撞機會。請檢查我的數學雖然:) –

+0

它是有意義的,在創建一個新的之前檢查該ID,實際上效果很好,謝謝 –