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重试装饰器示例
Feb 11 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
python实现AES加密和解密
Mar 27 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
python原类、类的创建过程与方法详解
Jul 19 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 Python
python实现简单日志记录库glog的使用
Dec 13 Python
python有几个版本
Jun 17 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 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
FCKeditor的安装(PHP)
2007/01/13 PHP
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
PHP邮件发送类PHPMailer用法实例详解
2014/09/22 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
JS重要知识点小结
2011/11/06 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
Seajs源码详解分析
2019/04/02 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
Python尾递归优化实现代码及原理详解
2020/10/09 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
文职个人求职信范文
2013/09/23 职场文书
党员学习十八大感想
2014/01/17 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
社区党建工作方案
2014/06/10 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang