所以我最近读了很多关于 HRD 和 NDB 的文档,但我仍然对 NDB 如何缓存东西有一些疑问。
示例:
想象一下用户写入数据并且应用程序需要在写入后立即获取数据的情况。例如。用户创建一个“群组”(类似于 Facebook/Linkedin 群组),并在创建后立即重定向到该群组。 (目前,我正在创建一个组,但没有为其分配祖先)
结果:
在本地测试此类功能(已启用高复制)时,立即提取新创建的组会失败。返回 NoneType。
问题:
浏览完 High Replication 文档和 Google IO 视频后,我了解到写入延迟较高,但是,NDB 缓存不应该解决这个问题吗? IE。写入会被缓存,然后异步实际写入磁盘,因此,立即读取将从缓存中读取,因此应该没有问题。我需要强制执行一些其他设置吗?
最佳答案
很确定您正在遇到 HRD 功能,其中查询“最终一致”。 NDB 的缓存与此行为无关。
关于google-app-engine - 使用高复制数据存储 + NDB 进行写入/读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12367904/