2014-01-20 54 views
0

我使用django-cache和django-redis-cache作爲後端。Django緩存在獲得參數時存儲不同的密鑰

有:

@cache_page(60*60*24) 

裝飾的看法。

現在我面臨的問題是每一個get請求被存儲在Redis的一個不同的密鑰。 我必須爲任何獲取參數顯示相同的頁面。有什麼辦法可以強制緩存在服務和製作密鑰時忽略get參數。

回答

0

當然,無論請求的查詢字符串如何計算相同的緩存鍵都是「一種方式」,但它需要一點工作 - 您必須根據低級高速緩存API重寫自己的cache_page實現這裏記錄爲https://docs.djangoproject.com/en/1.6/topics/cache/#the-low-level-cache-api)。您也可以閱讀CacheMiddleware的源代碼(其中cache_page構建於此)。

現在,我不得不說,我不明白髮生了頁面緩存緩存鍵時忽略查詢字符串的地步。

+0

我實際上正在使用類似基於GET參數的祕密登錄名,並使用它來從cron類型的python腳本中預熱緩存。 (頁面加載大約需要25分鐘)。 – crazydiv