ketama - a consistent hashing algo for memcache clients

Richard Jones rj at
Tue Apr 10 16:56:14 UTC 2007

Every time we added memcached servers to the pool, the rehashing of all keys 
would kill our database while the cache filled up again. We implemented a 
consistent hashing algorithm that our memcached clients are now using to map 
keys to servers. Now we can add new memcached servers without causing 
chaos :)

Here is the blurb and the code:

Source download includes:
 libketama, a c library
 php_ketama, a php extension that uses the library
 a pure java implementation

I'm interested in other approaches (or even if this is a concern for most 
people?). I read about the lots-of-virtual-buckets concept, but didn't find 
an implementation. Anyone already using consistent hashing for memcache?


Richard Jones Ltd. |
Office: +44 (0) 207 780 7080
Mobile: +44 (0) 7740 194 389

More information about the memcached mailing list