在python开发中,如果运营django进行编写,为了提升效率,常常需要优化缓存,缓存优化中必须掌握的caches参数相关知识:

CACHES 配置参数概述 - 格式

CACHES 字典配置格式如下

{
'default': {
‘BACKEND’:
'django.core.cache.backends.locmem.LocMemCache’,
}
}

配置 CACHES 字典时必须配置 default 缓存

CACHES 配置参数概述 - BACKEND

支持的 BACKEND:

1)'django.core.cache.backends.db.DatabaseCache'
2)'django.core.cache.backends.dummy.DummyCache'
3)'django.core.cache.backends.filebased.FileBasedCache'
4)'django.core.cache.backends.locmem.LocMemCache'
5)'django.core.cache.backends.memcached.MemcachedCache'
6)'django.core.cache.backends.memcached.PyLibMCCache’
//可配置的缓存后端列表

CACHES 配置参数概述 - 附加参数

每个缓存后端都可以设置附加参数,控制缓存行为。可配置如下参数:

1)TIMEOUT

cache 默认过期时间(seconds),未设置则为300s(5mins)

2)OPTIONS

可选项配置,不同的后端,可选项配置不同

3)KEY_PREFIX

默认会被自动加到所有缓存 keys 的前端

4)VERSION

默认缓存 keys 的 version

5)KEY_FUNCTION

生成最终缓存 keys 的函数路径

像locmem, filesystem 和 database 缓存都实现了 cull 策略,参数如下:
culling 策略参数(OPTIONS中):
MAX_ENTRIES
删除旧数据之前,允许在缓存中存放的最大数量,默认:300
CULL_FREQUENCY
当缓存数目达到 MAX_ENTRIES 时,就会删除部分缓存,删除率为1/CULL_REQUENCY, 如果 CULL_FREQUENCY = 2 ,当达到 MAX_ENTRIES 时,就会删除一半数据。默认值:3

CACHES 配置参数概述 - 示例

CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
'TIMEOUT': 60,
'OPTIONS': {
'MAX_ENTRIES': 1000
}
}
}

注意:无效的参数会被忽略,不会影响整个项目

django缓存优化中caches参数如何配置?的更多相关文章

  1. django缓存优化(一)

    在配置之前,先介绍一个实用的工具: 当我们进入虚拟环境,在shell中进行操作的时候,往往要导入django的各种配置文件: from django.x import xxxx 这时我们可以借助dja ...

  2. Django缓存优化之redis

    Redis 概述 Redis 是一个开源的Inmemory key-value 存储系统,性能高,很大程度上补偿了 memcached 的不足.支持多种存储类型,包括 string, list, se ...

  3. django缓存优化(二)

    一.缓存目的: 1.减小过载 2.避免重复计算 3.提高系统性能 二.如何进行缓存 三.缓存类型 四.缓存粒度分类 五.缓存的设置与使用 示例一: CACHES = { 'default': { 'B ...

  4. Django 模板.html中 href参数传入

    在Django模板中可能会出现访问多个URL指向同一函数,为减少代码可以利用正则表达式实现 url(r'^remove_userinfo(?P<nid>\d+)/',views.remov ...

  5. django缓存优化(三)

    This should give you a feel for how this module operates:: import memcache mc = memcache.Client(['12 ...

  6. mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)

    修改方法 1.修改配置文件 可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改. 代码如下: max_allowed_packe ...

  7. 01_MyBatis EHCache集成及所需jar包,ehcache.xml配置文件参数配置及mapper中的参数配置

     1 与mybatis集成时需要的jar ehcache-core-2.6.5.jar mybatis-ehcache-1.0.2.jar Mybatis.日志.EHCache所需要的jar包如下 ...

  8. Django缓存机制--rest_framework中节流源码使用的就是django提供的缓存api

    一.配置缓存   https://www.jb51.net/article/124434.htm 二.缓存全站.页面.局部   三.自我控制的简单缓存API API 接口为:django.core.c ...

  9. django中的setting最佳配置小结

    Django settings详解 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运 ...

随机推荐

  1. 利用私有的库MobileCoreServices检测正在安装的应用

    利用的私有库检测正在安装的app 分为两步:第一,通过placeholderApplications获得所有的正在安装的app的信息 第二,遍历正在安装的app的信息,根据名称获得你想检测的app是否 ...

  2. android的消息提示(震动与提示音)

    protected AudioManager audioManager; protected Vibrator vibrator; audioManager = (AudioManager)getSy ...

  3. 解决ie6下li左浮动文字换行的问题

    问题: 使用li左浮动来自动换行,当父标签剩下宽度不够一个li的宽度时,在ie6中最后一个li中的文字出现换行 解决办法: ul{ white-space:nowrap;} /*强制文字不换行*/

  4. SQL Server 2012 新特性:FileTable

    FileTable是基于FILESTREAM的一个特性.有以下一些功能: 一行表示一个文件或者目录. 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID). 用户表示 ...

  5. 关于web端功能测试的测试方向

    一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...

  6. URL_MODEL 2 不能访问 在APACHE服务器上的访问方式上去除index.php

    thinkphp URL_MODEL=2,访问链接http://i.cnblogs.com/Online/index.html  报错: Not Found The requested URL /on ...

  7. 用nginx一分钟实现文件服务器

    在局域网内和同事共享文件的好方法 1 安装nginx sudo apt-get install nginx 2 创建conf文件 sudo gedit /etc/nginx/conf.d/file_s ...

  8. VS 插件ReSharper10 破解注册方法(转)

    ReSharper 10.0.0.1 Ultimate 完美破解补丁使用方法,本资源来自互联网,感谢吾乐吧软件站的分享. ReSharper是一款由jetbrains开发的针对C#, VB.NET, ...

  9. 域普通用户执行金蝶K/3权限不够解决方法

    一.问题 公司财务部的机器加入域后,用户一直授予本地管理员的权限,主管坚持要撤销管理员权限,而金蝶K3没管理员权限又无法执行. 报错信息为“注册表许可权不够,请参考安装目录的帮助档案进行许可权的配置. ...

  10. 不透明度opacity进阶

    一.opacity属性 1.opacity 习惯上说“透明度”,其实应该叫“不透明度”.opacity 意思:不透明,而背景色的默认值:transparent意思才是“透明的”.所以opacity用来 ...