我正在尝试优化从Google数据存储区读取对象的代码。使用Java和JDO,这是我的代码:
List<Article> articles = (List<Article>) query.execute(articleId);
List<Article> detatchedArticles = (List<Article>) pm.detachCopyAll(articles);
当我查看appstats日志时,会产生:
datastore_v3.RunQuery 11ms (195ms api)
datastore_v3.Next 15ms (183ms api)
datastore_v3.Next 11ms (183ms api)
datastore_v3.Next 4ms (183ms api)
所以,我的问题是;我可以以某种方式调整(JDO设置,其他设置)每个数据存储区从数据存储区中取出多少个对象吗?
我正试图赢得一些API兆周期。或者,很多,如果我想要的话是可能的。
答案 0 :(得分:1)
如果您还没有这样做,我建议使用memcache。根据您的实体,您可以在jdoconfig.xml中启用它。这是一个简短的方法:http://ukena.de/content/enabling-jdo-caching-google-app-engine。请注意,如果您使用的是嵌入式实体,则由于GAE JDO实现中的一些错误,您必须手动处理内存缓存。