Django实现内容缓存实例方法

 更新时间:2020年06月30日 08:09:51   作者:尤及  
在本篇文章里小编给大家整理了关于Django实现内容缓存实例方法,有需要的朋友们可以跟着学习下。

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实现自动化脚本编写

    自动化在很多时候是很方便的,本文以修改用户名密码单元为案例,编写测试脚本。完成修改用户名密码模块单元测试,感兴趣的可以了解一下
    2021-06-06
  • Python set常用操作函数集锦

    Python set常用操作函数集锦

    set是一个无序且不重复的元素集合。这篇文章主要介绍了Python set常用操作函数集锦,需要的朋友可以参考下
    2017-11-11
  • Python实现的堆排序算法示例

    Python实现的堆排序算法示例

    这篇文章主要介绍了Python实现的堆排序算法,结合实例形式分析了堆排序的原理及Python定义与使用堆排序算法的相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Python之文字转图片方法

    Python之文字转图片方法

    今天小编就为大家分享一篇Python之文字转图片方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • TensorFlow如何实现反向传播

    TensorFlow如何实现反向传播

    这篇文章主要为大家详细介绍了TensorFlow如何实现反向传播,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python实现最大子序和的方法示例

    Python实现最大子序和的方法示例

    这篇文章主要介绍了Python实现最大子序和的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python实现kmp算法的实例代码

    python实现kmp算法的实例代码

    这篇文章主要介绍了python实现kmp算法的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 浅谈keras中自定义二分类任务评价指标metrics的方法以及代码

    浅谈keras中自定义二分类任务评价指标metrics的方法以及代码

    这篇文章主要介绍了浅谈keras中自定义二分类任务评价指标metrics的方法以及代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python 命令行传参方法总结

    python 命令行传参方法总结

    这篇文章主要介绍了python 命令行传参方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python3 pandas 读取MySQL数据和插入的实例

    python3 pandas 读取MySQL数据和插入的实例

    下面小编就为大家分享一篇python3 pandas 读取MySQL数据和插入的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论