0

我正在使用 memcached 在 Django 中设置会话,登录后,缓存中没有出现任何项目。

我可以连接到我的 memcached 实例telnet localhost 11211stats说该进程正在运行。我的缓存设置如下:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': '127.0.0.1:11211' # can also be a list of locations
    }
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'

我确实为缓存设置了数据库。会话显示在数据库中。(当使用时backends.cache,数据库或缓存中不显示任何内容。)

这是预期的行为吗?我是否必须在会话密钥中存储一些特殊的东西才能注册?

4

3 回答 3

0

我正在使用 1.2 并且正在阅读 1.3 的文档。

在 1.2 中,缓存看起来像这样:CACHE_BACKEND = "memcached://127.0.0.1:11211/"而不是缓存字典。

于 2011-05-26T20:11:41.747 回答
0

您还需要将两个中间件类添加到您的 MIDDLEWARE_CLASSES 设置中,如下所述: https ://docs.djangoproject.com/en/dev/topics/cache/?from=olddocs#the-per-site-cache

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

于 2011-06-08T03:02:53.323 回答
0

django.core.cache.backends.locmem.LocMemCache如下使用

CACHES={
        "default":{
                    "BACKEND":"django.core.cache.backends.memcached.MemcachedCache",
                    "LOCATION": "127.0.0.1:11211"
                    },

        }
于 2014-02-08T14:14:48.493 回答