google-app-engine - Google AppEngine 上的内存缓存多久丢失一次数据?

标签 google-app-engine memcached

一般而言,Memcache 和特定的 AppEngine 是不可靠的,因为我的数据可能会在任何时间点出于任何原因从缓存中删除。但是,在某些情况下,可能会存在使用内存缓存可以带来的额外性能值得冒一点小风险的情况,例如更新内存缓存中的某些数据,这些数据会定期保存到其他更可靠的存储中。如果我保持在配额范围内,Google 是否有任何数字可以告诉我内存缓存条目在其过期时间之前从缓存中丢失的实际概率?

除了硬件故障和管理操作(例如升级/移动/更换数据中心的机器)之外,是否还有任何其他原因会导致过早地从内存缓存中删除条目?

最佳答案

像任何缓存一样,Memcache 应该用作... cache.如果您无法在缓存中找到某些内容,则必须有一种策略可以在永久存储中找到它。

除了您提到的原因之外,Memcache 和其他缓存方法对它们将保存的项目数量有限制(当缓存已满时通常会丢弃最近最少使用的项目),并且通常还会设置其他缓存失效策略(例如,将所有未使用的东西冲洗一小时)。

如果您不自己配置和操作缓存,则无法保证何时以及如何有意/按设计从缓存中删除项目。

关于google-app-engine - Google AppEngine 上的内存缓存多久丢失一次数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649747/

相关文章:

python - 如何使用 urlfetch 获取所有 cookie?

java - appengine 数据存储区查询转义单引号 (')

ruby-on-rails - 如何从 Rails Observer/Model 调用 expire_fragment?

python - 在 Ubuntu 上安装 pylibmc

java - 从 Google Cloud BigQuery 读取数据

python - css 在除两个页面之外的所有页面上工作

image - 如何在应用引擎中使用 get_serving_url?

java - 不同语言的内存缓存客户端是否以相同的方式散列?

php - 创建最近查看列表,MySQL 或 Redis

java - 不可序列化对象异常