Google App Engine / JDO:是否有会话缓存?

时间:2009-08-27 06:38:16

标签: java performance google-app-engine jdo

由于无法使用Google App Engine数据存储区连接表格,因此我会循环显示实体列表,并使用外键值逐个查找相关实体。

for (Employee staff: staffList){
   Employee manager = pm.getObjectById(Employee.class, staff.getManagerId());
}    

我很可能不止一次需要相同的引用实体,而且我不想为同一个实体两次转到数据存储区。

是否有某种会话缓存我可以启用以消除重复的查找,或者我是否必须自己滚动?

1 个答案:

答案 0 :(得分:1)

根据datanculeus提供有关应用程序引擎JDO功能的帮助,

JDO规范确实要求在PersistenceManager中缓存实例:

link to datanucleus cache page

但是,我知道appengine实现中仍然缺少一些东西,如下所述:

app engine unsupported features

好消息是缓存似乎不在该列表中。坏消息是我无法确认是否实现了1级缓存。它应该不是那么难以测试 - 时间你的代码获得100个不同的实体,然后花时间获得相同的实体100次。