1. 程式人生 > >Django Session配置

Django Session配置

backends test set gin http engine all https location

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配置