Google app engine AppEngine-优化POST请求时的读/写计数
我需要优化我正在使用的POST请求的读/写计数 有关请求的一些信息:Google app engine AppEngine-优化POST请求时的读/写计数,google-app-engine,google-cloud-datastore,jdo,Google App Engine,Google Cloud Datastore,Jdo,我需要优化我正在使用的POST请求的读/写计数 有关请求的一些信息: 用户发送约100个项目的JSON数组 servlet需要使用单个long属性检查是否有任何接收到的项比数据存储中的对应项更新 我正在使用JDO 我现在做的是(伪代码): 这显然会导致每个请求大约100个读取请求 减少此逻辑的读取计数的最佳方法是什么?使用JDO查询?我读到使用“IN”-查询只会导致一个接一个地执行多个查询,因此我认为这对我没有帮助:( 还有PersistenceManager.getObjectsById(
- 用户发送约100个项目的JSON数组
- servlet需要使用单个
属性检查是否有任何接收到的项比数据存储中的对应项更新long
- 我正在使用JDO
查询
?我读到使用“IN”-查询只会导致一个接一个地执行多个查询,因此我认为这对我没有帮助:(
还有PersistenceManager.getObjectsById(Collection)。这有什么帮助吗?找不到关于这将发出多少请求的任何文档。最佳选择是
pm.getObjectsById(ids);
因为这是为了在一次调用中获取多个对象(特别是因为您有ID,所以有键)。当然,当前代码(2.0.1及更高版本)应该为getEntities()执行单个数据存储调用。请参见
pm.getObjectsById(ids);
因为这是为了在一个调用中获取多个对象(特别是因为您有ID,所以有键)。当然,当前代码(2.0.1及更高版本)应该为getEntities()执行单个数据存储调用。请参见我认为您可以使用以下调用执行批处理获取:
Query q = pm.newQuery("select from " + Content.class.getName() + " where contentKey == :contentKeys");
类似于上面的查询将返回您需要的所有对象。
您可以从这里处理其余的所有事务。我认为您可以使用下面的调用来执行批处理获取:
Query q = pm.newQuery("select from " + Content.class.getName() + " where contentKey == :contentKeys");
类似于上面的查询将返回您需要的所有对象。
您可以从这里处理所有其他的问题。显然,这不是您在这里引用的“低级API”,您刚刚使用appstats工具进行了检查,这导致了一个数据存储get调用:)是的,我认为@DataNucleus是正确的。我一直这么想。。。谢谢你指出。很明显,这不是你刚才引用的“低级API”,只是用appstats工具检查了一下,这导致了一个数据存储get调用:)是的,我认为@DataNucleus是正确的。我一直这么想。。。谢谢你指出。这个getObjectsById调用实际上是做什么的?它是对每个id执行批处理get还是执行getObjectById?“当然,当前代码(2.0.1及更高版本)应该对getEntities()执行单个数据存储调用”。显然,您可以很容易地阅读日志来确认这样的事情。getObjectsById调用的实际用途是什么?它是对每个id执行批处理get还是执行getObjectById?“当然,当前代码(2.0.1及更高版本)应该对getEntities()执行单个数据存储调用”。显然,你可以很容易地阅读日志来确认这些事情