使用场景:经常做查询,对实时数据不作要求,数据量大等场景
内存缓存是缓存手段当中最快的,但是有内存溢出漏洞
文件缓存是缓存当中性价比最高,安全有漏洞
数据库缓存,再创建一个表存放经常查询的数据,设计难度比较高

  1. 在settings中配置
# 数据库缓存
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.db.DatabaseCache',  # 缓存后台使用的引擎'LOCATION': 'my_cache',  # 数据库表'TIMEOUT': 300,  # 缓存超时时间(默认300秒,None表示永不过期,0表示立即过期)'OPTIONS': {'MAX_ENTRIES': 300,  # 最大缓存记录的数量(默认300)'CULL_FREQUENCY': 3,  # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)},}
}
  1. 执行命令行来生成配置中的数据库表
# 执行该命令后会发现数据库中多了一张my_cache表
python3 manage.py createcachetable
  1. 局部缓存使用
from django.core.cache import cache
from django.shortcuts import HttpResponse
import timedef use_caches(request):if cache.get("current_time"):current_time = cache.get("current_time")else:current_time = time.time()cache.set("current_time",current_time,10) # 数据库中设置key为current_time ,value 为 current_time ,过期时间为 10sreturn HttpResponse(current_time)
  1. 全局缓存使用
  • 视图中使用
from django.shortcuts import HttpResponse
from django.views.decorators.cahe import cache_page
import time@cache_page(10)
def use_caches(request):current_time = time.time()return HttpResponse(current_time)
  • 路由中使用
from django.urls import path
from . import views
from djamgo.viwes.decorators.cache improt cache_pageurlpatterns =[path('use_caches/',cache_page(10)(use_caches)),   # 只对当前路由进行缓存
]

Django数据库缓存相关推荐

  1. Django构建数据库缓存

    由于Django构建得是动态网站,每次客户端请求都要严重依赖数据库,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中, ...

  2. django 设置 数据库缓存

    最近博客增加了许多新功能,访问速度有所下降,故启用了django的数据库全站缓存. Django 官方缓存系统介绍: https://docs.djangoproject.com/en/1.8/top ...

  3. Django 缓存----数据库缓存

    Django 缓存----数据库缓存 1. 在dajngo的setting那加入你想缓存的配置 CACHES = {#这是默认的,不能删除,个人试过会报没有这个默认配置的错'default': {'B ...

  4. Django 的缓存机制

    一 缓存介绍: 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会 ...

  5. Django使用缓存笔记

    2019独角兽企业重金招聘Python工程师标准>>> Django设置缓存需要在settings.py文件中进行设置,缓存配置是通过setting文件的CACHES 配置来实现的. ...

  6. Django入门(七)   django的缓存

    由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者Redis中,5分钟内 ...

  7. Django数据库操作查询

    文章目录 Django数据库操纵查询 F和Q对象: 1.F对象: 2.Q对象: 2.聚合函数和排序函数 1.聚合函数: 2.排序函数: 3.级联查询: 1.关联查询 关联过滤查询 4.查询集 **查询 ...

  8. Django(缓存系统)

    什么是缓存Cache 缓存是一类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式.一般用来存储临时数据,常用介质的是读取速度很快的内存.一般来说从数据库多次把所需要的数据提取出来,要比 ...

  9. Django之缓存篇

    1.什么是缓存 定义:缓存是一类可以更快的读取数据的介质统称,也指其他可以加快得数据读取的存储方式.一般来存储临时数据,常用的介质是快速很快据的内存. 意义:试图渲染有一定的成本,数据库查询的频率过高 ...

最新文章

  1. php变量定义的位置,php变量一般放在哪个位置
  2. 看下巴识心情,这个AI项链挂胸前也能识别面部表情
  3. 设置android电话震动,Android手机震动的设置步骤
  4. 面向对象写单片机程序-程序分层
  5. PPT,别让我们走错路
  6. 10 张图带你深入理解Docker容器和镜像
  7. STM32-独立看门狗原理-实验
  8. 一键安装mysql5.6_一键安装MySQL5.6.43脚本
  9. 二叉搜索树+快速排序 查到文本中出现频率最多的100个词 【留学生作业】
  10. 通过反射访问private的属性或方法
  11. 仿微信朋友圈图片按下效果
  12. SQL语句基础-多表连接查询
  13. php获取当前进程的id
  14. Unity面试题加强版之三《Unity脚本基础》
  15. java 实现图片转化为PDF
  16. 一个超级棒的 Chrome 翻译插件
  17. 玉米社:百度SEM竞价推广策略有哪些?
  18. Kindeditor图片粘贴上传(chrome)
  19. 安装SQl Server Polybase 报错解决方法
  20. [3,3‘-联吡啶]-6,6‘-二甲醛 cas1264748-06-2 中间体材料

热门文章

  1. CentOS6.6 如何进入单用户模式
  2. 百科不全书之QT常用函数
  3. f开头的流媒体软件_流媒体服务引擎
  4. 五种绑定彻底弄懂this,默认绑定、隐式绑定、显式绑定、new绑定、箭头函数绑定详解
  5. 计算机组成原理0013 a卷大作业,2015年12月西南大学《计算机组成原理》[0013]大作业a标准答案...
  6. python60行绘图程序_天底下最简单的QT画图板,就一个类,60行代码
  7. IDE 中登录 Github 报错 Invalid authentication data. 404 Not Found-Not Found.
  8. Hrbust 1836 2012世界末日【01背包+反路径输出】
  9. create-react-app 初始化的项目,如何启用 babelrc 配置文件
  10. 表情搜索 api数据接口