如果我将一个实体保存到数据存储,然后在按其键加载实体之后,程序会等待并确保强一致性吗?
thing.setValue(newValue);
ofy().save().entity(thing).now();
Thing updatedThing = ofy().load().key(thingKey).now(); updatedThing是否包含新值?
当我想更新一个实体时,这是一个很好的方法来确保一个案例的强一致性吗?
发布于 2018-09-23 02:24:01
是的,密钥查找在数据存储中始终是一致的。从云数据仓库的最终一致性开头的表中删除
按键查找(get())强一致性
但是有一个陷阱--如果在同一个事务中同时执行写和读,那么read将不会看到所写的信息。来自隔离与一致性
此一致的快照视图还扩展到事务中写入后的读取。与大多数数据库不同,Cloud事务中的查询和gets事务看不到该事务中以前写入的结果。具体来说,如果在事务中修改或删除了实体,则查询或get将返回事务开始时实体的原始版本,如果该实体当时不存在,则返回任何内容。
https://stackoverflow.com/questions/52461697
复制相似问题