Django Session配置

Posted endurance9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django Session配置相关的知识,希望对你有一定的参考价值。

Django Session的三种存储方式

  1. SESSION_ENGINE=‘django.contrib.sessions.backends.db‘ # default 保存到数据库中,依赖  ‘django.contrib.sessions‘,app与数据库交互
  2. SESSION_ENGINE=‘django.contrib.sessions.backends.cache‘ #缓存到内存,默认是本机内存,django-redis可以存储到redis中
  3. SESSION_ENGINE=‘django.contrib.sessions.backends.cached_db‘ # 同时保存到数据库和缓存中

使用django-redis保存session

使用django-redis包

https://django-redis-chs.readthedocs.io/zh_CN/latest/ 文档地址

  1. 安装pip install django-redis

  2. 作为 cache backend 使用配置

    #为了使用 django-redis , 你应该将你的 django cache setting 改成这样:
    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }

    3.作为session backend使用配置

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

    各个组件的版本,redis django-redis版本过高都不行

celery         4.2.1      
Django         1.8.2      
django-redis   3.8.4      
django-tinymce 2.7.0      
itsdangerous   1.1.0      
kombu          4.2.2.post1
Pillow         5.4.1      
pip            18.1       
Pymysql        0.9.3       
redis          2.10.0  

使用django-redis-sessions保存session

安装

pip install django-redis-sessions==0.5.6

设置

SESSION_ENGINE = ‘redis_sessions.session‘
SESSION_REDIS_HOST = ‘localhost‘
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 2
SESSION_REDIS_PASSWORD = ‘‘
SESSION_REDIS_PREFIX = ‘session‘

其他方式

会话还支持文件、纯cookie、Memcached、Redis等方式存储

以上是关于Django Session配置的主要内容,如果未能解决你的问题,请参考以下文章

Django Session配置

Django Session常用配置

Django的Session存储Redis环境配置

django----session相关配置

session配置

redis和python交互和django中配置用redis存储session