Django多个缓存后端

时间:2011-09-12 14:54:11

标签: django memcached django-mptt django-cache

我想在一个django项目中使用多个缓存引擎。在示例中,我使用sorl.thumbnail,它生成了许多sql查询来获取/设置模型图像的缩略图。对于缓存此查询,我使用memcached后端。但是,其他缓存停止工作,我的意思是模板缓存{% cache ... %},也通过API cache.get(),cache.set()。我想成为像这样的东西

CACHES = {
'default': {
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
    'LOCATION': '127.0.0.1:11211',
    },
'filebased': {
    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',

    }

}

如何在模板中使用'基于文件'缓存?因为{%cache%}使用memcached后端,并且它产生许多查询,特别是使用树(django-mptt)

1 个答案:

答案 0 :(得分:4)

通过API,您可以这样做:

from django.core import cache
filebased_cache = cache.get_cache('filebased')
filebased_cache.set('blah', 1)

我担心模板缓存不提供使用默认值以外的方法。如果你想这样做,你可能需要自己编写。