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编写一个简单的tic-tac-toe游戏的教程
Apr 16 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
利用python发送和接收邮件
Sep 27 Python
Python中Proxypool库的安装与配置
Oct 19 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
python实现简单反弹球游戏
Apr 12 Python
解析目标检测之IoU
Jun 26 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
编译问题
2006/10/09 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
小程序实现密码输入框
2020/11/16 Javascript
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
用python生成1000个txt文件的方法
2018/10/25 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
python pandas 时间日期的处理实现
2019/07/30 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
大学生毕业求职简历的自我评价
2013/10/24 职场文书
珍惜水资源建议书
2014/03/12 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
作风建设年活动总结
2014/08/27 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
中学教师个人总结
2015/02/10 职场文书
个性与发展自我评价
2015/03/06 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
民事纠纷协议书
2016/03/23 职场文书