You are doing it wrong. You should write through the cache to the
database in an active manner. You have no assurance that anything is
still in the cache at that point. It is a cache, not storage.
Brian.
--------
http://brian.moonspot.net/
On 12/21/09 11:50 AM, StephenChan wrote:
Hi Matt ,thanks for your reply!
Actually, my situation is something like "data recovery", before I save
the data into database, I executed "flush_all" command, and now I need
to get the data of the memory and push them into database. As the ref
says, "The most precise definition of what flush_all does is the
following: it causes all items whose update time is earlier than the
time at which flush_all was set to be executed to be ignored for
retrieval purposes." . The memcached just ignored the get request for
the data that have been flushed, according to the update time, but the
data remains intact in memory, besides to gcore the memcached process
image, is there any other way such as change os time or something to
recovery the data from memory ?
2009/12/22 Matt Ingenthron <[email protected] <mailto:[email protected]>>
Stephen wrote:
Hi, everyone:
In my project, I execute the "flush_all" command with careless,
however, the data in the memcache is important for me, it has not to
be saved into database.
And I read the doc, it says " flush_all doesn't actually
free all
the memory taken up by existing items; that will happen gradually as
new items are stored." Since the memcache just use a half of the
memory allocated, I think the data which are not saved into database
may be still in the MEMORY, so is there anyone tell me how I
could get
the data ?
There is no method of doing so designed for users, but there are a
couple of things underneath. It sounds like you're in a "data
recovery" type situation. This being the case, I might recommend
you use gcore to get a core of the running memcached process(es) so
you'll have something point in time stable you can later use a
debugger to get the data out of.
If I misunderstand and you're looking to do this on a regular basis
or as part of some recovery plan for your database, please give us
some more info on what you want your app to do and we may be able to
help point you to a solution that doesn't require getting to all of
the items in the cache.
Hope that helps,
- Matt