2011-12-18 50 views
1

我正在選擇是否啓用緩存標題以及它會產生什麼差異。 當前的代碼是這樣的,我想知道我是否應該啓用緩存以及它會做什麼?如何在GAE中使用python的緩存控制?

#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 

我做正確的方式?當啓用緩存時究竟會發生什麼?我還能夠更新頁面嗎?

謝謝

回答

4

還有AppEngine上的緩存反向代理/邊緣緩存如果給一個max-age,並在你的榜樣設置爲public像這可以拿起你Cache-Control頭。邊緣緩存是「盡力而爲」的,這意味着它不會100%確定它會緩存你的迴應。

可以找到更多的信息herehere

0

設置Cache-Control將使您的應用程序沒有什麼區別。此值僅用於Web瀏覽器,緩存僅在客戶端完成,而不在服務器上完成。緩存控制的正確值可以減少服務器負載並節省帶寬,因爲用戶代理會嘗試在本地緩存內容,但它與appengine無關。

如果您正在尋找服務器端緩存以提高響應時間並減少數據庫讀取,請參閱memcached。要最佳使用memcache,您可能還需要搜索互聯網緩存失效策略。

+2

這是一個過度概括。緩存將影響他的負載,並引入緩存有效期和到期問題。 – 2011-12-19 05:10:02

+0

問題是關於Google App Engine的具體問題,前端服務器會根據緩存控制標題緩存響應。 – miguelv 2016-10-17 18:21:51