如何使用 Django 1.8 进行内存缓存会话

How to do memcached sessions with django 1.8

在我的 django 1.6 应用程序中,我执行了以下操作来获取缓存会话,我很好奇这些是否已针对 django 1.8 进行了更改。这里的目标是 100% 在内存会话中,因此重新启动将清除所有内容/每个 Web 请求将需要更少的 1 个数据库查询/如果我需要在负载均衡器之间共享此会话,它可以扩展许多前端机器(还假设1.8 仍然在 cookie 中传递 CSRF 令牌......这应该适用于服务器群)

首先我会像这样向 txt 文件添加一个要求

python-memcached==1.54

接下来,在我的设置文件中,我将执行以下操作

SESSION_ENGINE = "django.contrib.sessions.backends.cache"

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

CACHE_BACKEND = 'caching.backends.memcached://localhost:11211'

有什么变化吗?我可以根据我上面列出的要求添加任何改进吗?

设置保持不变; TEMPLATE 和 urls.py 是主要的变化。文档在这里:

https://docs.djangoproject.com/en/1.8/topics/cache/

至于requirements.txt中使用的包,可以看你用的是Python2还是3。当然,内存问题远远超出了Django的范畴,取决于 (1) 您在缓存中放入了多少内容及其设置; (2) 你有多少内存。