【发布时间】:2013-10-01 08:13:03
【问题描述】:
在我的 settings.py 我有:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'ws_cache_table',
'TIMEOUT': '3000000',
'OPTIONS': {
'MAX_ENTRIES': 10000000
}
}
}
但如果我在python manage.py shell 中这样做:
from django.core.cache import cache
print type(cache)
我明白了:
django.core.cache.backends.locmem.LocMemCache
为什么!??? 现在我无法清除我的缓存...
为了证明我的配置是正确的,我可以这样做:
from django.conf import settings
conf = settings.CACHES.get('default', None)
我得到:
{'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'ws_cache_table',
'OPTIONS': {'MAX_ENTRIES': 10000000},
'TIMEOUT': '3000000'}
看起来get_cache 方法在定义 CACHES 之前被调用...
【问题讨论】:
-
您可能从设置中可访问的代码访问
django.core.cache.cache? -
哪个 Django 版本?
-
您确定没有其他“本地”设置正在替换
CACHES设置吗?如果你手动调用django.core.cache.get_cache('default'),你会得到什么? -
@kroolik - 我不明白,你能解释一下吗?
-
@brunodesthuilliers - 1.4
标签: python django caching django-cache django-caching