Django实现内容缓存实例方法


Posted in Python onJune 30, 2020

Django实现内容缓存:

1、内存缓存

settings.py文件配置

CACHES = {
  'default': {  
    'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',   # 指定缓存使用的引擎
    'LOCATION': 'unique-snowflake',   # 写在内存中的变量的唯一值 
    'TIMEOUT':300,   # 缓存超时时间(默认为300秒,None表示永不过期)
    'OPTIONS':{    
      'MAX_ENTRIES': 300,  # 最大缓存记录的数量(默认300)
      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
      'CULL_FREQUENCY': 3,                    
    }   
  }
}

2、文件缓存

settings.py文件配置

CACHES = {
  'default': {  
    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',#指定缓存使用的引擎
    'LOCATION': '/var/tmp/django_cache',   #指定缓存的路径
    'TIMEOUT':300,       #缓存超时时间(默认为300秒,None表示永不过期)
    'OPTIONS':{    
      'MAX_ENTRIES': 300,  # 最大缓存记录的数量(默认300)
      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
      'CULL_FREQUENCY': 3,                      
    }
  }      
}

3、数据库缓存

settings.py文件配置

CACHES = {
  'default': {  
    'BACKEND': 'django.core.cache.backends.db.DatabaseCache',    # 指定缓存使用的引擎
    'LOCATION': 'cache_table',      # 数据库表        
    'OPTIONS':{    
      'MAX_ENTRIES': 300,        # 最大缓存记录的数量(默认300)
      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
      'CULL_FREQUENCY': 3,                    
    }   
  }      
}

4、Mrmcache缓存

使用python-memcached模块连接memcache

settings.py文件配置

CACHES = {
  'default': {  
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',# 指定缓存使用的引擎
    'LOCATION': '192.168.10.100:11211',  # 指定Memcache缓存服务器的IP地址和端口
    'OPTIONS':{    
      'MAX_ENTRIES': 300,        # 最大缓存记录的数量(默认300)
      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
      'CULL_FREQUENCY': 3,                      
    }
  }
}

使用pylibmc模块连接memcache

settings.py文件配置

CACHES = {
    'default': {   
      # 指定缓存使用的引擎
      'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache'
      # 指定本机的11211端口为Memcache缓存服务器
      'LOCATION':'192.168.10.100:11211',                 
      'OPTIONS':{     
        'MAX_ENTRIES': 300,# 最大缓存记录的数量(默认300)
        # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
        'CULL_FREQUENCY': 3, 
      },   
    }
  }

知识点扩展:

1.缓存的简介

在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面.

当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力.

缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户.

2.Django提供了6种缓存方式

  1. 开发调试缓存
  2. 内存缓存
  3. 文件缓存
  4. 数据库缓存
  5. Memcache缓存(使用python-memcached模块)
  6. Memcache缓存(使用pylibmc模块)

到此这篇关于Django实现内容缓存实例方法的文章就介绍到这了,更多相关Django实现内容缓存内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中关于for循环的碎碎念
Jun 30 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
python生成requirements.txt的两种方法
Sep 18 Python
NumPy统计函数的实现方法
Jan 21 Python
Python更新所有已安装包的操作
Feb 13 Python
python随机模块random的22种函数(小结)
May 15 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
May 18 Python
Python修改DBF文件指定列
Dec 19 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 #Python
Python闭包装饰器使用方法汇总
Jun 29 #Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 #Python
Python接口测试环境搭建过程详解
Jun 29 #Python
python字典的值可以修改吗
Jun 29 #Python
python怎么自定义捕获错误
Jun 29 #Python
python打开文件的方式有哪些
Jun 29 #Python
You might like
德生9700DX电路分析
2021/03/02 无线电
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
python中pycurl库的用法实例
2014/09/30 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
Python登录系统界面实现详解
2019/06/25 Python
python库matplotlib绘制坐标图
2019/10/18 Python
Python多线程的退出控制实现
2020/08/10 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
五一家具促销方案
2014/01/10 职场文书
领导调研接待方案
2014/02/27 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书