【问题标题】:Entity is not available immediately after being put into Google App Engine Datastore实体在放入 Google App Engine 数据存储后无法立即使用
【发布时间】:2015-12-22 09:40:11
【问题描述】:

我的申请流程如下:-

  1. 用户进入新实体页面。
  2. 用户点击保存按钮,系统将新实体放入 Datastore。
  3. 系统立即将用户重定向到编辑页面。
  4. 编辑页面对新插入的实体进行查询。
  5. (问题)新插入的实体有时不可用。

我认为这是因为 Datastore 需要进行一些数据复制,因此新插入的数据在 Put(..) 函数返回后不会立即可用。我应该怎么处理这个问题还是我需要使用事务?

【问题讨论】:

  • 如果你刚刚创建了一个实体,那么一旦你 put() 你就有了密钥,所以你应该通过密钥而不是查询来获取,然后你将能够按照最终一致性处理答案如下。

标签: google-app-engine go google-cloud-datastore


【解决方案1】:

您应该阅读有关最终一致性的内容:https://cloud.google.com/appengine/docs/go/datastore/structuring_for_strong_consistency

您可以进行祖先查询,也可以尝试按键引用新创建的实体。

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 2010-12-03
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    相关资源
    最近更新 更多