Python全系列 教程
3567个小节阅读:5930.7k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
官网:https://docs.djangoproject.com/zh-hans/4.1/topics/cache/#the-per-site-cache
一旦缓存设置完毕,使用缓存最简便的方式就是缓存整个站点。你需要在 MIDDLEWARE设置中添加 'django.middleware.cache.UpdateCacheMiddleware'
和 'django.middleware.cache.FetchFromCacheMiddleware'
,像下面这个例子一样:
xxxxxxxxxx
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
]
FetchFromCacheMiddleware :从缓存中读取数据
UpdateCacheMiddleware :将数据更新到缓存中
该中间件会自动在每个响应中设置几个headers:
如果视图设置了自己的缓存时间(即设置了Cache-Control 的max age),那么页面将被缓存直到到期时间,而不是CACHE_MIDDLEWARE_SECONDS。
使用装饰器 django.views.decorators.cache可以设置视图的到期时间(使用cache_control()装饰器,代码:@cache_control(max_age=3600))或禁用视图的缓存(使用never_cache()装饰器,代码:@never_cache)
如果USE_I18N设置为True,则生成的缓存key将包含当前语言的名称,这样可以轻松缓存多语言网站,而无需自己创建缓存密钥。
如果 USE_L10N设置为True 并且 USE_TZ被设置为True,缓存key也会包括当前语言
注意
UpdateCacheMiddleware中间件必须在列表的第一位
FetchFromCacheMiddleware 中间件必须在最后
最后,在 Django 设置文件里添加下面的必需配置:
备注
使用缓存因为要和redis交互,所以需要安装redis
pip install redis==4.3.4
实时效果反馈
1. 关于Django全站缓存设置,说法错误的是?
A Django全站缓存需要使用中间件实现
B UpdateCacheMiddleware中间件用来更新缓存数据
C FetchFromCacheMiddleware 中间件用来获取缓存数据
D 缓存中间件无先后顺序
答案
1=>D