【问题标题】:Django multiple caches backendsDjango 多个缓存后端
【发布时间】:2011-11-15 10:19:17
【问题描述】:

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

【问题讨论】:

    标签: django memcached django-mptt django-cache


    【解决方案1】:

    通过 API,您可以做到这一点:

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-24
      • 1970-01-01
      • 2015-02-03
      • 2014-05-22
      • 2021-07-11
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      相关资源
      最近更新 更多