Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 实体在放入Google App Engine数据存储后不立即可用_Google App Engine_Go_Google Cloud Datastore - Fatal编程技术网

Google app engine 实体在放入Google App Engine数据存储后不立即可用

Google app engine 实体在放入Google App Engine数据存储后不立即可用,google-app-engine,go,google-cloud-datastore,Google App Engine,Go,Google Cloud Datastore,我的申请流程如下:- 用户进入新实体页面 用户点击保存按钮,系统将新实体放入数据存储 系统会立即将用户重定向到编辑页面 编辑页面对新插入的实体进行查询 (问题)新插入的实体有时不可用 我认为这是因为数据存储需要进行一些数据复制,因此在Put(..)函数返回后,新插入的数据将不会立即可用。我应该如何处理该问题,还是需要使用事务处理?您应该阅读有关最终一致性的内容: 您可以进行祖先查询,也可以尝试按键引用新创建的实体 如果您刚刚创建了一个实体,那么在put()之后您就拥有了密钥,因此您应该通过密钥而

我的申请流程如下:-

  • 用户进入新实体页面
  • 用户点击保存按钮,系统将新实体放入数据存储
  • 系统会立即将用户重定向到编辑页面
  • 编辑页面对新插入的实体进行查询
  • (问题)新插入的实体有时不可用

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

    您应该阅读有关最终一致性的内容:


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

    如果您刚刚创建了一个实体,那么在put()之后您就拥有了密钥,因此您应该通过密钥而不是查询来获取,然后您将能够按照下面的答案处理最终的一致性。