【问题标题】:How to return all values stored in memcache?如何返回存储在 memcache 中的所有值?
【发布时间】: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


【解决方案1】:

鉴于MemcacheService 低级文档,我认为不可能这样做。

文档的JCache Features Not Supported 部分也支持这一点:

应用无法转储缓存键或值的内容。

(注意:我在 Google 工作。但请不要将其视为 Google 的回复。我自己并没有太多使用 AppEngine。)

【讨论】:

  • Jon 对文档的阅读是正确的。目前无法进行。
猜你喜欢
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 2020-06-06
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
相关资源
最近更新 更多