【发布时间】:2011-11-30 05:20:43
【问题描述】:
如何返回存储在内存缓存中的所有值? 我尝试在缓存上使用 entrySet() 和 values() 方法,但都导致 java.lang.UnsupportedOperationException。
理想情况下,我需要返回缓存中存储的所有实体并将它们批量保存到数据存储区 - 这可能吗?
谢谢
【问题讨论】:
-
纯粹出于病态的好奇,你为什么要这么做?
-
我有一个请求非常频繁的资源,该资源执行 3 个 datstore GET 和 3 个 PUT。因此,我每天都在使用大量的数据存储 RPC,并希望减少这种情况。我的计划是将实体存储在内存缓存中几分钟(在需要时更新实体),然后将它们批量保存到数据存储中。然后我会清除缓存并重新启动该过程。
-
正如我在另一个问题中提到的那样,您真的不想这样做 - 您很有可能会丢失数据。
-
我不介意时常丢失数据,我宁愿大幅减少数据存储调用的次数并冒着定期丢失数据的风险,也不愿支付我预测的巨额费用。如果这是不可能的,但如果有办法实现类似的解决方案,我很想听听。
-
在这种情况下,您可能想阅读这篇博文:blog.notdot.net/2010/04/…
标签: java google-app-engine memcached