2

我想在一个 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)

4

1 回答 1

4

通过 API,您可以这样做:

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

恐怕模板缓存没有提供使用默认值的方法。如果你想这样做,你可能必须自己写。

于 2011-10-31T11:42:45.727 回答