当前位置:  开发笔记 > 后端 > 正文

如何在Django中使用2个不同的缓存后端?

如何解决《如何在Django中使用2个不同的缓存后端?》经验,为你挑选了2个好方法。

我需要使用memcached和基于文件的缓存.我在设置中设置了缓存:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': 'c:/foo/bar',
    },
    'inmem': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
    }
}

假的是暂时的.文件说:

cache.set('my_key', 'hello, world!', 30)
cache.get('my_key')

好的,但是我现在如何设置和获取仅用于'inmem'缓存后端的缓存(在将来的memcached中)?文档没有提到如何做到这一点.



1> 小智..:
CACHES = {
  'default': {
    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
    'LOCATION': 'c:/foo/bar',
  },
  'inmem': {
    'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
  }
} 

from django.core.cache import get_cache, cache
inmem_cache = get_cache('inmem')
default_cache = get_cache('default')
# default_cache == cache 



2> rinderwahn..:

自Django 1.9以来,get_cache已被弃用.执行以下操作来解决"inmem"中的键(除了Romans的回答):

from django.core.cache import caches
caches['inmem'].get(key)

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有