那年那日那朵花

".......(o´ω`o)......"

在django中使用缓存存放sessions

2017-08-12 10:51 python django

好久没有更新博客了,最近懒癌发作。。。。所以今天出来冒个泡。^ ^

在使用django的过程中,默认django会将sessions信息保存在数据库中,通常情况下对于一个后台应用服务来说没啥问题。但是请求量上来后,对于需要频繁交互的sessions信息来说,保存在数据库中就显得不太合理了。对此,django官方就有解决方案,可以将sessions信息保存在缓存中。实现起来非常的方便。

  1. 首先要有memcached服务端
  2. 安装python连接memcached的客户端
  3. 修改django的配置文件

默认已经装好memcached服务端并且已经启动了。然后安装python的客户端就好了

/usr/bin/memcached -p 11211 -m 64m -vv -u memcached -d
pip install  python-memcached

然后就是配置django项目中的settings.py配置文件,在里面加上

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


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

然后就大功告成了,实现起来非常非常简单。这里的BACKEND配置还可以配置成django.core.cache.backends.memcached.PyLibMCCache,具体是哪个是根据你安装的python连memcached的客户端而定(python-memcached或者pylibmc.)

Cloudhu 个人随笔|built by django|

沪ICP备16019452号-1