当我像这样使用cache_page装饰器时,我如何确认我的Django视图被缓存:
@cache_page(60)
def my_view(request):理想情况下,我希望在控制台中输出缓存命中/未命中消息,这样我就可以确认我的视图被缓存了60秒等等。
非常感谢,g
发布于 2009-11-25 00:56:13
您可以获取django-debug-toolbar (http://github.com/robhudson/django-debug-toolbar)的副本并查看查询:如果没有从缓存中提取页面,django-debug-toolbar应该显示组装页面所需的所有查询。如果从缓存中拉出页面,您将看不到查询。
您还可以将日志记录添加到您正在使用的特定缓存包装器中,然后在django-debug-toolbar的“日志记录”面板中引用输出。
如果您对监视memcache的使用细节感兴趣,我还建议获取一份django-memcache-status (http://github.com/bartTC/django-memcache-status)和memcache-top (http://code.google.com/p/memcache-top/)的副本。
发布于 2009-11-24 07:59:53
根据您正在使用的缓存中间件,您可以检查该类的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")并记录来自那里的消息。我承认,这不是一种干净的方式。
发布于 2019-07-03 02:25:38
您可以通过查看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都表示在生成响应时涉及到缓存。
https://stackoverflow.com/questions/1786543
复制相似问题