Google App Engine Shared Memcache 的生命周期很短

Google App Engine Shared Memcache is having short life span

我在Google App Engine 中实现了共享内存缓存,只能在很短的时间内保存键值。我在不同的时间戳执行了 20 次以下调用。

_MEMCACHE_DURATION = 14*24*60*60
memcache.add(email, user_timestamp, _MEMCACHE_DURATION)

我的预期是,键值将持续 14 天。但是,我发现最旧的项目年龄是“1 小时 42 分钟”

当我看文档时,我认为有效时间最多为 1 个月:https://cloud.google.com/appengine/docs/python/memcache/functions#Client_add

我在想,这样的行为是否正确?

在官方文档中了解共享内存缓存和付费内存缓存之间的区别。 shared 不保证数据将在那里保留多长时间。

官方文档:https://cloud.google.com/appengine/docs/developers-console/#memcache

内存缓存最佳实践:https://cloud.google.com/appengine/articles/best-practices-for-app-engine-memcache

1 小时 42 分钟是我上次测量时的显着改进(与之前相比是显着改进)。

除非您为保留的内存缓存付费,否则它是一种共享资源。最好将其视为短期缓存,其中短期以分钟为单位。这种缓存的一个很好的用途是提高会话中跨请求的性能。

您通常不应该对 Memcache 条目的生命周期做出假设,因为下一个请求可能最终找不到条目,​​并且由于各种原因可能 随时消失https://cloud.google.com/appengine/docs/python/memcache/#Python_How_cached_data_expires(如果你愿意,寿命为零)。

我会将“(最多 1 个月)”注释解释为 最大 寿命。