[英]Django cache_page checking
當我使用cache_page裝飾器時,如何確認我的Django視圖被緩存:
@cache_page(60)
def my_view(request):
理想情況下,我想在控制台中輸出緩存命中/未命中消息,以便我可以確認我的視圖被緩存了60秒等。
非常感謝,g
您可以獲取django-debug-toolbar
( http://github.com/robhudson/django-debug-toolbar )的副本並查看查詢:如果頁面未從緩存中提取,則django-debug-toolbar
應該顯示匯編頁面所需的所有查詢。 如果從緩存中提取頁面,您將看不到查詢。
您還可以將日志記錄添加到您正在使用的特定緩存包裝器中,然后在django-debug-toolbar
的“logging”面板中引用輸出。 下面是一個例子: http : //gist.github.com/242011
我還建議抓一份django-memcache-status
( http://github.com/bartTC/django-memcache-status )和memcache-top
( http://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-Control
和Expires
意味着在生成響應時涉及緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.