django框架进阶-使用缓存-长期维护
2023-09-14 09:00:33 时间
############### django-缓存页面 ###############
###########################################
# 全站缓存,
# 整个网站的所有的页面都做缓存
# 要有一个中间件,
# 在中间件里面做缓存,
# 使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户,
# 当返回给用户之前,判断缓存中是否已经存在,如果不存在则UpdateCacheMiddleware会将缓存保存至缓存,从而实现全站缓存
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware', # 开头加
# 其他中间件...
'django.middleware.cache.FetchFromCacheMiddleware', # 结束加
]
CACHE_MIDDLEWARE_ALIAS = ""
CACHE_MIDDLEWARE_SECONDS = "" # 设置缓存时间,单位秒
CACHE_MIDDLEWARE_KEY_PREFIX = ""
# 这样第一次访问了页面之后,就会被缓存起来,然后再次访问页面就从缓存取了,
##################################
# 单视图缓存
# 因为全站缓存太大了,可以对某一个视图进行缓存,
# 加装饰器,
# 方式一:
from django.views.decorators.cache import cache_page
@cache_page(60 * 15) # 括号里面是秒,这个比全局的高,
def my_view(request):
...
# 方式二:
from django.views.decorators.cache import cache_page
urlpatterns = [
url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)),
]
# 单视图缓存这个用处不大,因为一个页面是有动态数据的,有固定的数据,是不能一概而论的,
# 所以可以对一个页面的某一个部分做缓存,
#######################################
# 局部缓存,
# a. 引入TemplateTag
# {% load cache %}
# b. 使用缓存
# {% cache 5000 缓存key %} # 5000是指的5000秒之后消失,key是自己写的
# 缓存内容
# {% endcache %}
# 一共是三个级别,
############### 结束线 ################
相关文章
- django-vue 混合开发
- Django-Rest-Framework
- Apache+Django性能优化之mod_wsgi篇
- 第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码
- 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍
- 第三百一十七节,Django框架,缓存
- 第三百一十六节,Django框架,中间件
- django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务
- Django 1.6 最佳实践: 如何正确使用 Signal(转)
- Django中如何使用django-celery完成异步任务2(转)
- django框架进阶-admin-长期维护
- django缓存机制
- [Django] Start a new django project
- django系统登录突然提示验证码过期问题解决办法,The set-cookie didn’t specify a “SameSite” attritube…
- DJANGO技巧两则:模拟MKDIR -P及配合NGINX上传大文件不使超时
- 将Python的Django框架与认证系统整合的方法
- python-django框架-电商项目-项目部署_20191127
- django缓存机制
- Python Django后台管理模板美化:使用django-simpleui模块
- Django 3.2.5博客开发教程:体验django模板
- Python Django 数据缓存存储位置类
- Python Django框架学习08:Django 视图
- nginx & flup & django & python3.x @ window7配置备忘录
- Django学习13 -- validator(验证器)
- Django学习9 -- 统计数据展示
- Django Cache缓存系统介绍及Memcached使用
- Django之django-redis对数据进行简单缓存
- Django(13)-静态文件