如何在GAE中使用python进行缓存控制?

时间:2011-12-18 05:48:47

标签: python html http google-app-engine caching

我选择是否启用缓存标头以及它将产生的差异。 目前的代码就是这个,我想知道我是否应该启用缓存以及它将做什么?

#seconds_valid = 8600
#self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid

self.response.headers['Cache-Control'] = 'no-cache'

如果我将代码更改为

,我可以测试区别吗?
seconds_valid = 8600
self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid

我是以正确的方式做到的吗?当我启用缓存时究竟会发生什么?我仍然可以更新页面吗?

谢谢

2 个答案:

答案 0 :(得分:4)

还有AppEngine的缓存反向代理/边缘缓存,如果给出Cache-Control并且设置为max-age可能会选择public标头例。边缘缓存是“尽力而为”,这意味着它不会100%确定它会缓存您的响应。

可以找到更多信息herehere

答案 1 :(得分:0)

设置Cache-Control对您的应用程序没有任何影响。此值仅供Web浏览器使用,缓存仅在客户端进行,而不是在服务器上进行。正确的Cache-Control值可以减少服务器负载并节省带宽,因为用户代理会尝试在本地缓存内容,但它与appengine无关。

如果您正在寻找服务器端缓存以缩短响应时间并减少数据库读取,请查看memcached。要以最佳方式使用memcache,您可能还需要在Internet上搜索缓存失效策略。