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高并发异步服务器核心库forkcore使用方法
Nov 26 Python
Python中的random()方法的使用介绍
May 15 Python
如何处理Python3.4 使用pymssql 乱码问题
Jan 08 Python
Python闭包的两个注意事项(推荐)
Mar 20 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
Python笔试面试题小结
Sep 07 Python
python多线程并发及测试框架案例
Oct 15 Python
python小白切忌乱用表达式
May 29 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 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
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
js同时按下两个方向键
2007/12/01 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
Python脚本实现代码行数统计代码分享
2015/03/10 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
django框架模板语言使用方法详解
2019/07/18 Python
python中的&&及||的实现示例
2019/08/07 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
Python之Sklearn使用入门教程
2021/02/19 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
UNIX命令速查表
2012/03/10 面试题
公司端午节活动方案
2014/02/04 职场文书
师说教学反思
2014/02/07 职场文书
护士自我鉴定总结
2014/03/24 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
委托培训协议书
2014/11/17 职场文书
python基础之爬虫入门
2021/05/10 Python
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技