I found out the hashing algorithm used in PHP-Memcache is different from that of Python-Memcache. The keys went to different servers as the hash created by python and php were different.
I posted a question on the memcache groups and was lucky to find this wonderful reply.
import memcache import binascii m = memcache.Client(['192.168.28.7:11211', '192.168.28.8:11211 ', '192.168.28.9:11211']) def php_hash(key): return (binascii.crc32(key) >> 16) & 0x7fff for i in range(30): key = 'key' + str(i) a = m.get((php_hash(key), key)) print i, a
This is the only thing that has to be done on Python’s end, change the way the hash is calculated. The coding on PHP end remains same. All you guys using PHP for web based front-end with MySQL and Python for back-end scripts shall find this helpful.
Thanks Brian Rue.
Reference: http://groups.google.com/group/memcached/msg/7bb75a026c44ec43