【问题标题】:Memcache System - Keys getting dropped frequentlyMemcache 系统 - 密钥被频繁丢弃
【发布时间】:2013-07-02 10:08:14
【问题描述】:

我们目前将我们的应用程序托管在 Google App Engine 中。该应用程序已启用计费。此应用程序仍处于测试阶段,我们将其用于测试目的。如果存在,我们有一个从 Memcache 提供数据的逻辑,如果没有,那么我们从数据存储中获取数据并更新 memcache 并提供数据。我们遇到了与 Memcache 相关的奇怪行为。与 Memcache 中的某些键相关的数据在设置后几分钟后会被删除。我们尝试为 memcache 中的键设置过期时间,即使这似乎不起作用。由于数据正在从内存缓存中删除,因此数据再次来自数据存储区,这增加了我们应用程序的费用。

目前近 80% 的费用与数据存储读取有关。数据存储读取很高,因为 memcache 没有按应有的效率工作。任何我们为什么会面临这个问题的见解都会非常有帮助。

仅供参考,我们在内存缓存中有大约 75000 个键,总大小为 100 MB 数据。我们的结构需要在 memcache 中保留如此大量的键,我认为这应该不是问题。

我们的应用程序有 10 个用户,每天的账单金额约为 40 美元。

谢谢, 克里什

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    不幸的是,memcache 会在需要时驱逐键。设置过期时间仅意味着该项目将在内存缓存中直到过期时间。 看看关于驱逐的docs

    另外,请查看this,以更深入地了解解决内存缓存问题的方法。

    关于您的数据结构,也许您可​​以发布一个新问题,我们可以看看其他人是否对您有建议。

    【讨论】:

    • 目前我们从 1.8.2 版本的 Google App Engine 开始提供专门的 Memcache 支持,我们可以更喜欢它,这解决了我们的问题。
    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    相关资源
    最近更新 更多