Django的缓存机制

Django中的缓存机制

django中的缓存机制一共分为4中类型:

① 视图缓存装饰器

② 模板中使用缓存

③ urls中添加缓存

④ 使用自定义缓存,如redis(单核),mysql,memcache(支持多核)

模板层面上的缓存

1
2
3
4
{% load cache %}
{% cache 500 sidebar request.user.username%}
{{something}}
{% endcache %}

注:首先加载cache的标签,然后设定缓存,500的单位为s,sidebar表示存储于缓存的键值,request.user.username用来进行过滤,唯一性表示不同用户所缓存的不同内容。

同时这个500也可以使用参数形式进行传递

视图层面上的缓存

1
2
3
from django.views.decorators.cache import cache_page
@cache_page(30,cache="special_cache")
def test_view(request):

注: 用装饰器修饰函数,超时时间30s,cache用来指定所选的缓存,默认使用默认缓存

urls层面上的缓存

1
2
3
4
5
from django.views.decorators.cache import cache_page

urlpatterns = [
path('test/<int:code>/', cache_page(60 * 15)(my_view)),
]

注:请求的url例如,test/1test/2会被分别缓存,下一次请求url时,则会直接请求缓存。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!