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.
