我想在一个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)
答案 0 :(得分:4)
通过API,您可以这样做:
from django.core import cache
filebased_cache = cache.get_cache('filebased')
filebased_cache.set('blah', 1)
我担心模板缓存不提供使用默认值以外的方法。如果你想这样做,你可能需要自己编写。