deleting the entire cache

Brad Fitzpatrick brad@danga.com
Wed, 31 Dec 2003 13:03:52 -0800 (PST)


We won't add that.  It doesn't work in a distributed way.

Instead, make your "uid:43:*" keys be an array:

        uid:43:foo = [ current_time, actual_value ]

Then if you want to flush you do:

        uid:43:flush_time = current_time

Then your app does:

        memcache::get_multi("uid:43:foo", "uid:43:flush_time");
        // and compares foo->[0] and flush_time, killing uid:43:foo if
        // it's old than the flush time

Or something like that.


On Wed, 31 Dec 2003, Justin wrote:

>
> I don't know C well enough to be able to tell if this is do-able without
> slowing down memcached.
>
> Would it be possible to have something like a flush_match command?
>
> Say I have a bunch of keys like "uid:43:userinfo", "uid:43:profile1", etc
> etc... It'd be super-cool if I could do something like "flush_match uid:49",
> and memcached nukes all keys that start with uid:49.  I'm not talking about
> a fullblown regex, just very simplistic front-of-string matching.
>
>
>
> -----Original Message-----
> From: memcached-admin@lists.danga.com
> [mailto:memcached-admin@lists.danga.com] On Behalf Of Brad Fitzpatrick
> Sent: Tuesday, December 30, 2003 2:36 PM
> To: memcached@lists.danga.com
> Subject: Re: deleting the entire cache
>
> It does.
>
> I might as well make a new release (even though it'll be boring and
> small).  One sec.
>
>
> On Tue, 30 Dec 2003, Chris Ochs wrote:
>
> >
> > The intended use we have for memcached is to cut down on queries to our
> > database for user configuration information that is needed by the
> > application for every request.   When configuration variables are updated
> in
> > memcache I need a way to delete all old variables, but without knowing
> what
> > they are.   I just want to wipe the memory and start fresh so to speak.
> > Does the new flush command in cvs do this?  If so is there a tarball of
> the
> > current cvs version?
> >
> > Chris
> >
> >
>
>