I'm considering switching to the high replication datastore, and I want to 
make sure I understand what needs to be cached in order to deal with 
eventual consistency. I know this question has been asked many times...just 
want to make sure I'm understanding after reading some other answers.

I have a page that displays a list of projects which a user is part of. 
>From this page, they can rename a project, leave a project, or create a new 
project. If they perform any of these actions, the page is refreshed, and 
obviously should reflect the change.

This list is already being cached...so if user #1 is logged in, memcache 
may have "user-1-projects" stored. On the master-slave datastore, I can 
simply delete this value if they rename/leave/create a project, and the 
next page view will cause it to be rebuilt from a datastore query. But as I 
understand it, on the HRD I will have to modify the cached value in-place 
rather than deleting it...ie I retrieve the "user-1-projects" list from the 
cache, rename/create/delete the relevant item, then write the updated 
"user-1-projects" entry back to the cache. If I just delete it as I'm 
currently doing, the subsequent query may return stale results.

Is this correct?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/Aen4pAMD2LAJ.
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