1

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

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

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

我们的应用程序由 10 个用户组成,每天的计费金额约为 40 美元。

谢谢, 克里什

4

1 回答 1

0

不幸的是,memcache 会在需要时驱逐密钥。设置过期时间仅意味着该项目将在内存缓存中直到过期时间。查看有关驱逐的文档。

此外,请查看内容,以更深入地了解解决 memcache 问题的方法。

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

于 2013-07-05T12:42:23.077 回答