【问题标题】:Unable to write to cache in Django无法在 Django 中写入缓存
【发布时间】:2014-11-06 15:43:46
【问题描述】:

在我的石墨安装中,/opt/graphite/webapp/graphite/local_settings.py 包含:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    }
}

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
)

但是,当调出http://<host>/graphite

我从回溯中得到这个错误:

{'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache'}}

有人知道我应该在哪里设置 Django 缓存吗?

这是 apache 日志:

[Thu Nov 06 11:50:53 2014] [error]   File "build/bdist.linux-x86_64/egg/cacheback/base.py", line 178, in cache_set
[Thu Nov 06 11:50:53 2014] [error]     type(data)))
[Thu Nov 06 11:50:53 2014] [error] RuntimeError: Unable to save data of type <type 'dict'> to cache

看起来 Django 没有读取我的 local_settings.py 进行缓存。有什么想法吗?

【问题讨论】:

  • local_settings.py文件中的其余设置是否生效?
  • @dukebody,喜欢哪些条目?
  • 您的应用是否真的使用了正确的设置文件?从它的声音来看,您的 local_settings.py 没有被加载(或以错误的顺序加载 - 覆盖您的缓存设置)
  • 它正在尝试读取这个文件:/usr/local/lib64/python2.6/site-packages/django_cacheback-0.8-py2.6.egg/cacheback/base.py 没有这样的文件。 /usr/local/lib64/python2.6/site-packages/django_cacheback-0.8-py2.6.egg 是文件而不是目录。
  • @TimmyO'Mahony,其他一切都在从 local_settings.py 检索其配置,我可以在 apache 中看到调用。由于某种原因,它没有正确响应缓存设置。

标签: django graphite


【解决方案1】:

在 app_settings.py 中,它被设置为虚拟缓存,我将其更改为 locmem。成功了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 2012-08-24
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多