That is a really good idea. I guess it is able to be applied to other
similar kinds of things too, where I am applying filters and paging on
those results too. (though that would get a bit more tricky)

thanks
Jonathan

On Mar 3, 11:51 pm, Andi Albrecht <[email protected]>
wrote:
> 2009/3/3 Jonathan <[email protected]>:
>
>
>
>
>
> > I am using a restful interface for an ajax application and want to be
> > able to store the results of queries inmemcache, as much of this data
> > is read much more often than it is written, but it is occasionally
> > written.
>
> > I have been trying to think of strategies for how to do this, whilst
> > also maintaining the ability to invalidate the cache when necessary.
>
> > so for example:
> > the user requests page 1 of their objects (0-9) and I store them with
> > a key of "modelName-userName-pageNum"
> > the user requests page 2 of their objects (10-19) and I store them
> > with a key of "modelName-userName-pageNum"
> > the user modifies an object on page 2, (or deletes it, or creates a
> > new one) and I want to invalidate all "modelName-userName" cached
> > lists.
>
> > how do I do this???
>
> If you want to delete *all* 'modelName-userName' items, why not store
> a mapping (just one cached value) with 'modelName-userName' as key.
>
> For example:
>
>   from google.appengine.api importmemcache
>   key = 'model-user'
>   # load cached values
>   data =memcache.get(key)
>   if data is None:
>     data = {}
>   # query page1
>   page1 = some_query()
>   data[1] = page1
>  memcache.set(key, data)
>   # return response
>   # query page 2
>   data =memcache.get(key)
>   if data is None:
>     data = {}
>  page2 = some_query()
>  data[2] = page2
>  memcache.set(key, data)
>
> And if something's changed, just do "memcache.delete(key)".
>
> Andi
>
>
>
> > jonathan
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to