Google app engine GAE数据存储并发问题
如果两个进程同时修改同一个实体,但只修改不同的属性,那么它们在调用Google app engine GAE数据存储并发问题,google-app-engine,concurrency,google-cloud-datastore,Google App Engine,Concurrency,Google Cloud Datastore,如果两个进程同时修改同一个实体,但只修改不同的属性,那么它们在调用DatastoreService.put时是否可能覆盖另一个进程所做的更改 过程A: theSameEntity.setProperty ("foo", "abc"); DatastoreService.put (theSameEntity); theSameEntity.setProperty ("bar", 123); DatastoreService.put (theSameEntity); sameentity
DatastoreService.put时是否可能覆盖另一个进程所做的更改
过程A:
theSameEntity.setProperty ("foo", "abc");
DatastoreService.put (theSameEntity);
theSameEntity.setProperty ("bar", 123);
DatastoreService.put (theSameEntity);
sameentity.setProperty(“foo”、“abc”);
DatastoreService.put(类似实体);
过程B:
theSameEntity.setProperty ("foo", "abc");
DatastoreService.put (theSameEntity);
theSameEntity.setProperty ("bar", 123);
DatastoreService.put (theSameEntity);
sameentity.setProperty(“bar”,123);
DatastoreService.put(类似实体);
是的,它们可能会覆盖彼此的更改,因为每次写入(而不仅仅是差异)都会将整个实体发送到datastore()
如果要避免这种情况,您需要使用。是的,它们可能会覆盖彼此的更改,因为每次写入时整个实体都会发送到数据存储()中(而不仅仅是差异)
如果要避免这种情况,您需要使用。是的,我观察到了这一点(尽管在我的例子中,并发请求修改了相同的属性)
我认为事务不会有帮助,因为它们不会锁定它们保证的数据存储,事务中的操作将看到相同的数据。我想知道是否有人找到了解决办法 是的,我观察到了这一点(尽管在我的例子中,并发请求修改了相同的属性)
我认为事务不会有帮助,因为它们不会锁定它们保证的数据存储,事务中的操作将看到相同的数据。我想知道是否有人找到了解决办法