On Wed, Jun 09, 2010 at 11:30:45AM -0500, William Rowe wrote: > Just noticed that our shmcb socache never replaces an identical node > on ->store, leading to multiple entries for the same id (with different > expiries and data, obviously). > > Is this deliberate? What is the distcache/memcached/dbm behavior, are > they all replacing the existing node? What is the programming contract?
It's a cyclic buffer - the most recently stored entry should be returned by a retrieve operation... the old entry should effectively be invisible to the caller. Is that not working? w.r.t. contract: specific behaviour will vary across the providers; could nail down the ->retrieve API with a bunch of stuff which is *not* guaranteed, I suppose, is that what you're thinking of? "object returned may be out-of-date/stale, etc" Regards, Joe