簡體   English   中英

Django cache_page檢查

[英]Django cache_page checking

當我使用cache_page裝飾器時,如何確認我的Django視圖被緩存:

@cache_page(60)
def my_view(request):

理想情況下,我想在控制台中輸出緩存命中/未命中消息,以便我可以確認我的視圖被緩存了60秒等。

非常感謝,g

可以獲取django-debug-toolbarhttp://github.com/robhudson/django-debug-toolbar )的副本並查看查詢:如果頁面未從緩存中提取,則django-debug-toolbar應該顯示匯編頁面所需的所有查詢。 如果從緩存中提取頁面,您將看不到查詢。

您還可以將日志記錄添加到您正在使用的特定緩存包裝器中,然后在django-debug-toolbar的“logging”面板中引用輸出。 下面是一個例子: http//gist.github.com/242011

我還建議抓一份django-memcache-statushttp://github.com/bartTC/django-memcache-status )和memcache-tophttp://code.google.com/p/memcache- top / ),如果您有興趣詳細監控memcache的使用情況。

根據您使用的緩存中間件,您可以檢查該類的process_request方法並找到類似這樣的行(取自django/middleware/cache.py

131  response = cache.get(cache_key, None)
132  if response is None:
133      ...

...      logging.debug("Cache miss")
...
...  else:
...      logging.debug("Cache hit")

並從那里記錄消息。 我承認,這不是一個干凈的方法。

您可以通過查看HTTP響應中的標頭來確認您的頁面是否已緩存。

$ curl -v http://localhost:8000/cached_view/ >/dev/null
[...]
< Cache-Control: max-age=900
< Expires: Tue, 02 Jul 2019 18:36:34 GMT
[...]

Cache-ControlExpires意味着在生成響應時涉及緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM