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读写Json涉及到中文的处理方法
Sep 12 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
python实现最长公共子序列
May 22 Python
python numpy 按行归一化的实例
Jan 21 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python开根号实例讲解
Aug 30 Python
弄清Pytorch显存的分配机制
Dec 10 Python
利用Python判断你的密码难度等级
Jun 02 Python
一篇文章弄懂Python关键字、标识符和变量
Jul 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
PHP教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
提高PHP编程效率的方法
2013/11/07 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
Python对切片命名的实现方法
2018/10/16 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
社团成立邀请函
2014/01/08 职场文书
校园安全检查制度
2014/02/03 职场文书
校园安全教育广播稿
2014/02/17 职场文书
大学生党员承诺书
2014/05/20 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python