To paraphrase what folks have already said with a bit more explanation, it is impossible to iterate over memcache(d) keys unless you keep track of all of the keys and manage the process yourself. Has anyone heard of a library that implements a key tracking system? I'd guess not since that would add overhead, contrary to the main point of memcached.
I've never heard of memcached having any mechanism, even within itself, to walk the keys without knowing the key names. People generally depend on the timeout values to avoid filling memory with irrelevant items, and the occasional complete cache flush, usually of a fraction of memcache servers in a system, to fully clean up the cache. If you want something more sophisticated than set/get functionality, you will likely want to use a database system of some sort, probably with a memory or memory-disk hybrid engine if speed is a primary concern. Thank you Steve for the pointer to Tokyo Cabinet, it looks very interesting. Ivo On Dec 8, 3:18 pm, Giriraj <[email protected]> wrote: > Is there a memcached client that can help me iterate over the > memcached cache? > I want to search through the cache to fetch some data depending upon a > condition. > I am only able to do a put/get right now. > Currently, I am using net.spy.memcached.MemcachedClient to access > memcached. > > Regards, > Giriraj
