Memcache系统 - 密钥频繁掉线

时间:2013-07-04 11:56:44

标签: google-app-engine

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

目前,近80%的计费与数据存储读取有关。数据存储区读取率很高,因为内存缓存无法正常工作。我们面对这个问题的任何见解都会非常有用。

仅仅是一个FYI,我们在memcache中拥有大约75000个密钥,总大小为100 MB数据。我们的结构要求在memcache中保留如此大量的密钥,我认为这不应成为问题。

我们的申请由10位用户承担,每天的结算金额约为40美元。

谢谢, Krish

1 个答案:

答案 0 :(得分:0)

不幸的是,memcache会在需要时驱逐密钥。设置到期时间仅表示该项目将在最多到期时间的内存缓存中。 看一下有关驱逐的docs

另外,请查看this,了解有关内存缓存问题的更多信息。

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