django缓存优化中caches参数如何配置?

Posted Jesson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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参数如何配置?的主要内容,如果未能解决你的问题,请参考以下文章

Django之使用redis缓存session,历史浏览记录,首页数据实现性能优化

Django中如何配置Database缓存?

django缓存优化

Nginx文件描述符缓存--open_file_cache

缓存系统 | Django自带 | Django开发

Django Cache缓存系统