2011-10-03 50 views
1

如何返回存储在内存缓存中的所有值? 我已经尝试在缓存上使用entrySet()和values()方法,但都导致java.lang.UnsupportedOperationException。如何返回存储在memcache中的所有值?

理想情况下,我需要返回存储在缓存中的所有实体,并将其保存到数据存储 - 这可能吗?

感谢

+1

纯粹是出于病态的好奇心,为什么你想这样做? –

+0

我有一个非常频繁请求的资源,这个资源执行3个datastore GETs和3个PUTs。因此,我每天都在使用大量数据存储RPC,并希望减少这种情况。 我的计划是将实体存储在memcache中几分钟(在需要时更新实体),然后将这些实体批量保存到数据存储中。然后,我会清除缓存并重新启动该过程。 – Mylo

+0

正如我在另一个问题中提到的,你真的不想这么做 - 你很有可能会失去数据。 –

回答

1

鉴于MemcacheService低层次的文件,我不认为这是有可能这样做。

应用程序不能转储缓存的键或值的内容:

这一点也得到了文档的JCache Features Not Supported部分支持。

(注:我为谷歌工作,但请不要把这个作为从谷歌响应我没有用太多的AppEngine自己。)

+0

乔恩阅读文档是正确的。目前无法做到这一点。 –