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代码做configure文件
Jul 20 Python
Python中super关键字用法实例分析
May 28 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
django的settings中设置中文支持的实现
Apr 28 Python
Python基于numpy模块实现回归预测
May 14 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
给ubuntu18安装python3.7的详细教程
Jun 08 Python
Python实现归一化算法详情
Mar 18 Python
python中的random模块和相关函数详解
Apr 22 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
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
给Function做的OOP扩展
2009/05/07 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
总监职责范文
2013/11/09 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2014年库房工作总结
2014/11/26 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
Pillow图像处理库安装及使用
2022/04/12 Python