MurmurHash算法由Austin Appleby發明於2008年,是一種非加密hash算法,適用於基於hash查找的場景。murmurhash最新版本是MurMurHash3,支持32位,64位及128位值的產生。
MurmurHash標准使用C++實現,但是也有其他主流語言的支持版本,包括:perl、C#、ruby、python、java等。這種算法即使輸入的鍵是有規律的,算法仍能給出一個很好的隨機分布性,計算速度非常快,使用簡單。因此在多個開源項目中得到應用,包括libstdc、libmemcached、nginx、hadoop等。
Redis使用的是MurmurHash2。當字典被用作數據庫的底層實現,或者哈希鍵的底層實現時,使用MurmurHash2算法來計算鍵的哈希值。
MurmurHash PK CityHash: http://www.360doc.cn/article/4238731_210314514.html