[Q: libmemcache] mirroring with *server_add*

Sean Chittenden sean at gigave.com
Mon Aug 8 13:52:04 PDT 2005


> >No.  Memcached is a hash of hashes.  The client does the first
> >level of hashing.
> 
> Well then i must write the 'sync logic' my self, or is there an
> proofed solution open and available?

I have this logic and code available, though I haven't released it
yet.  If you're interested, I can arrange to get you a tarball.  I can
currently sync keys to disk and to other memcache servers.  There's
even support to dump specific keys that are tagged in advance, on a
per-key basis on a given operation, as well as the entire set of valid
items.

A month or so ago I added a "listen" mechanism so that data
modifications result in clients being notified of a data update, and
of the changed value (using edge and level triggers to qualify
notifications of updates).  Think PostgreSQL's LISTEN/NOTIFY
interface.

This last weekend I knocked out some code that allows callers to batch
sets of commands together to be run atomically, including the ability
to conditionally run various commands based on the status and value of
keys.

Later this week, I'll likely be changing the client-side hashing
scheme to be O(1) with all servers available, but it will degrade to
O(N).  The trade-off will allow for incremental cache invalidation,
not site-wide cache invalidation when a server goes down.

An FYI from the non-danga R&D dept.  -sc

-- 
Sean Chittenden


More information about the memcached mailing list