专用内存缓存与共享内存缓存(python,google appengine)

时间:2014-02-15 12:00:26

标签: google-app-engine memcached

基本上,我正在努力决定是否应该选择专用的内存缓存。

我的方案如下: 我正在开发一个为某些公共数据提供实时分析的应用程序。 我将维护一个总共15kb的键/值memcache(20个键,变量值) 与此同时,价值不断变化(总密钥/值每3秒左右更新20次) 点击该网站将执行这些键的请求(也是每3秒一次请求)

我假设有10000名用户立即访问该网站,这将每3秒产生约20 * 10000个请求。

考虑到memcache的大小(相对较小),以及大约7000 /秒(memcache密钥/值访问)产生的请求数量,专用的memcache会更多地针对这种情况进行“规避风险”处理。 谢谢,

2 个答案:

答案 0 :(得分:2)

缓存数据对于正确运行Web应用程序至关重要。如果您丢失数据,可能会对成千上万的用户造成伤害!希望您的应用程序还定期保留缓存的数据并自动从缓存擦除中恢复。

虽然数据的大小很小,但共享内存缓存仍然比在不可预测的时间驱逐部分或全部数据的专用内存缓存风险更大。设计还必须正确处理部分数据丢失。不仅您的内存压力,而且来自其他应用程序和云操作因素的内存压力更有可能导致AppEngine丢弃共享缓存。

答案 1 :(得分:1)

使用此数据大小,您将无法从使用专用内存缓存中获得任何好处。

您访问内存缓存的速率与此决定无关。