ok so one idea I had was to call GC before every read, and then read everything with an obnoxiously long expiry time via set...
which seems terrible to me but might work - anyone got any better ideas? On Mon, Oct 15, 2012 at 1:18 AM, Greg Skerman <[email protected]> wrote: > Hi, > > I am connecting an API which provides values that are intended to instruct > the consumer on how long to cache a result for. Different API calls have > different cache times (and these cache times may be variable, so setting up > a config for each possible outcome is out of the question). > > Essentially there is a callTime and a cacheTime value in the response - > callTime is the server timestamp that the data was retrieved, and cacheTime > is the server timestamp that I am expected to wait until I make the next > call. > > Now, I can easily perform some date math here to figure out the cache time > and plug it into cache::set before writing my local cache - but whilst > reading the caching documentation on the subject I discovered this: > > *If you use Cache::set() to change the settings for a write, you should > also use Cache::set() before reading the data back in. If you fail to do > so, the default settings will be used when the cache key is read.:* > > How does one get around this? I cannot "know" the cache duration until > *after* I have read the value - and if the default is used there is a good > chance that the value will be prematurely garbage collected. If I set the > default value to an obscenely long time (upwards of 24 hours), then I run > the risk that the cache will *never* be garbage collected. > > Do I need to store a "key map" somewhere that describes the cache time > values so I can look them up? or is there a way to inspect the cache time > before reading the value? > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php?hl=en.
