在 Django 中使用缓存
Using cache in django
我想在我的 Django 应用程序中使用 Memcache。 Ι 希望能够为每个视图使用缓存。但我还没有理解缓存中的一些东西。假设我有以下观点
def view(request, customer_id):
#some view functionality here
return queryset #which my different according to some posting data
假设我缓存这个视图
@cache_page(60*15)
def view(request, customer_id):
#some view functionality here
return queryset
根据 this 如果用户访问与 "view" 关联的我的页面,它将被缓存然后从缓存中检索。什么会被缓存?查询集?还是模板?但是根据某些 post 数据(例如搜索视图)可能会有所不同的查询集呢?您能否更详细地解释一下如何为查询集使用缓存?我应该缓存变化很大的查询集吗?还是不行?
- 整个页面将被缓存。
- 缓存使用整个 url 作为键。所以
url?q=aaa' and 'url?q=bbb
将被缓存为不同的页面。
- 仅缓存 GET 和 HEAD 请求。因此,您的 POST 请求将照常工作。
至于查询集的缓存...Read this answer
我想在我的 Django 应用程序中使用 Memcache。 Ι 希望能够为每个视图使用缓存。但我还没有理解缓存中的一些东西。假设我有以下观点
def view(request, customer_id):
#some view functionality here
return queryset #which my different according to some posting data
假设我缓存这个视图
@cache_page(60*15)
def view(request, customer_id):
#some view functionality here
return queryset
根据 this 如果用户访问与 "view" 关联的我的页面,它将被缓存然后从缓存中检索。什么会被缓存?查询集?还是模板?但是根据某些 post 数据(例如搜索视图)可能会有所不同的查询集呢?您能否更详细地解释一下如何为查询集使用缓存?我应该缓存变化很大的查询集吗?还是不行?
- 整个页面将被缓存。
- 缓存使用整个 url 作为键。所以
url?q=aaa' and 'url?q=bbb
将被缓存为不同的页面。 - 仅缓存 GET 和 HEAD 请求。因此,您的 POST 请求将照常工作。
至于查询集的缓存...Read this answer