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

在python开发中,如果运营django进行编写,为了提升效率,常常需要优化缓存,

--------------格式

{

    '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 缓存

CACHES = {

    'default': {

        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',

        'LOCATION': '/var/tmp/django_cache',

        'TIMEOUT': 60,

        'OPTIONS': {

            'MAX_ENTRIES': 1000

        }

    }

}


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

猜你喜欢

转载自blog.csdn.net/ghostdom_imp/article/details/80039544