Thank you for the comprehensive answer. Maybe someone will be interested. My implementations: Lock - http://code.google.com/p/imemcacheclient-php/source/browse/trunk/IMemcacheClient_Lock.class.php Queue - http://code.google.com/p/imemcacheclient-php/source/browse/trunk/IMemcacheClient_Queue.class.php SharedObject - http://code.google.com/p/imemcacheclient-php/source/browse/trunk/IMemcacheClient_SharedObject.class.php SharedInteger - http://code.google.com/p/imemcacheclient-php/source/browse/trunk/IMemcacheClient_SharedInteger.class.php MapReduce - http://code.google.com/p/imemcacheclient-php/source/browse/trunk/MapReduce.class.php MapReduce has masterd, mapd, reduced :) It works!
I have tested this and memcached has satisfied me as well. Let me write daemon to reduce the load of cycled get()... a lot of clients will be connected to the daemon and waiting for the same key. Daemon will pass queries it to real server and send answer to all clients.