【问题标题】:How long does the GAE "best effort" memcache usually last?GAE“尽力而为”的内存缓存通常能持续多久?
【发布时间】:2014-09-02 15:10:49
【问题描述】:

Google 对共享内存缓存中的内存缓存条目何时过期非常含糊。这是完全可以理解的,因为它是免费和共享的,但是对于我的条目在从共享缓存中删除之前可能存在多长时间有任何实际指导吗? 1小时? 1天? 1周? 1 个月?

我计划存储一些会话令牌,并试图弄清楚会话可以重新访问多长时间。

【问题讨论】:

标签: google-app-engine memcached


【解决方案1】:

内存缓存可以随时丢弃您的所有数据。你不能真的相信过期时间。

根据 Google 的说法,即使没有或使用 memcache,您的应用程序也必须能够正常工作。 内存缓存只是避免进行大量数据存储查询和正确管理配额的一个优点。

对您而言,memcache 不是存储会话令牌的地方。 如果您使用的是 Python,则可以使用 webapp2 会话。它与 AppEngine 完美搭配。

【讨论】:

  • 感谢您的回复,但这并不能回答问题。我知道关于内存缓存可用性的 Google 派对路线,但我正在寻找关于项目实际在 GAE 内存缓存中保留多长时间的真实经验。
  • 我回答了你的最后一句话。有时项目会在 1 小时后过期,有时会在 1 天后过期。
【解决方案2】:

老实说,我已经看到 memcache 持续了一天,只有一个小时......而且我从来没有主动监控过 memcache,所以如果你的 memcache 中有更大或更小的时间范围,我不会感到惊讶。

这真的很难说,因为(我猜)这取决于用于您的实例的计算机的内部使用情况以及周围其他计算机需要多少资源。

不幸的是,除了这个问题之外,没有真正的答案:防御性代码,始终检查内存缓存,然后如果在内存缓存中找不到数据,则从永久数据(我猜是数据存储?或云存储)中获取它,然后然后将其推回 memcache 以供下次使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 2016-06-11
    相关资源
    最近更新 更多