阻止对App Engine数据存储的并发访问

时间:2011-07-14 21:35:02

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

我正在Google App Engine上构建一个应用程序,该应用程序使用数据存储区存储有关服务器当前状态的信息。当Android设备查询服务器时,servlet从数据存储区获取实体,对其进行修改,然后将其放回数据存储区以更新数据存储区条目。

但是,有时当servlet的一个实例从数据存储区获取数据时,servlet的另一个实例在第一个实例将更新的数据重新放入之前也会这样做。这会导致我的应用程序出现同步问题。

有没有办法“锁定”数据存储区,以便在释放锁定之前无法对其进行任何操作?

感谢。

1 个答案:

答案 0 :(得分:6)

Transactions 就是你所追求的。

尽管仔细阅读文档:对交易中的操作有严格的限制。具体来说,您只能在单个实体组中查询 - 即具有相同祖先的实体集。