-1
我的应用程序有一个流动情况如下之后: -实体不可被放入谷歌App Engine数据存储
- 用户进入新的实体页。
- 用户点击保存按钮,系统将新实体放入数据存储区。
- 系统立即将用户重定向到编辑页面。
- 编辑页面为新插入的实体进行查询。
- (问题)新插入的实体有时不可用。
我认为这是因为Datastore需要做一些数据复制,因此在Put(..)函数返回后,新插入的数据不会立即可用。我该怎么处理这个问题,还是我需要使用交易?
我的应用程序有一个流动情况如下之后: -实体不可被放入谷歌App Engine数据存储
我认为这是因为Datastore需要做一些数据复制,因此在Put(..)函数返回后,新插入的数据不会立即可用。我该怎么处理这个问题,还是我需要使用交易?
你应该阅读有关最终一致性:https://cloud.google.com/appengine/docs/go/datastore/structuring_for_strong_consistency
你可以做一个祖先查询或者你可以尝试通过键指新创建的实体。
如果你刚刚创建了一个实体,那么当你有了put()时你就拥有了这个键,所以你应该通过键来获取而不是查询,然后你将能够根据下面的答案来处理最终的一致性。 –