在Google App引擎上使用Memcache的替代方案?

时间:2013-06-11 14:10:58

标签: google-app-engine memcached

我目前正在使用GAE提供的Memcache服务来缓存服务器上的内容。缓存的当前大小接近20~30MB。

最初缓存的生命周期为6-7小时..随着流量的增加,缓存的生命周期已降至20分钟。

我们计划将缓存大小增加到1-2GB。我们可以使用GAE上的分布式缓存的替代实现吗?

我已经尝试过的方法列表如下所述。但是,这些步骤并不能解决我们在GAE上提供更好的缓存服务的需求

  • 使用Memcache(缺点 - 限制缓存大小)
  • 将对象存储在实例内存中(缺点 - 不能保持实例之间的数据一致性)
  • 压缩存储的JAVA对象(略有改进 - 缓存的生命周期仅提高20%)

2 个答案:

答案 0 :(得分:2)

由于您最初依赖6-7小时的缓存,这听起来像是利用Google边缘缓存的绝佳用例。理论上,这是基于Google分布式网站缓存的免费缓存。

基本上,您需要设置缓存标头,例如:

Cache-Control: public, max-age=600

请参阅this SO answerthis Google Groups post

答案 1 :(得分:1)

如果您是Python开发人员,也许Nick Johnson的这篇博文可以帮助您:http://blog.notdot.net/2010/11/Storage-options-on-App-Engine