来自Memcache的JDO Batch PUT

时间:2011-10-01 11:12:56

标签: google-app-engine jdo put

为了减少我正在消耗的数据存储PUT的数量 希望更频繁地使用memcache。想法是存储 在将所有实体写入之前,memcache中的实体持续n分钟 数据存储区并清除缓存。

我有两个问题:

有没有办法批量PUT缓存中的每个实体?我相信 makePersistentAll()实际上不是批量保存,而是保存每个 个别不是吗?

其次是你可以在实体上放置一个“回调”功能 你把它们放在memcache中?即如果我将实体添加到缓存中 (有2分钟的到期增量)我可以告诉AppEngine保存 被驱逐的实体到数据存储区?

谢谢!

2 个答案:

答案 0 :(得分:0)

makePersistentAll确实做了批量PUT,日志应该告诉你足够清楚

答案 1 :(得分:0)

无法在App Engine中获取memcache的全部内容。在任何情况下,这都是一个坏主意 - 项目可以随时从memcache中逐出,包括插入它们和尝试将数据写入数据存储区之间。相反,使用memcache作为读缓存,并立即将数据写入数据存储区(尽可能使用批处理操作)。