Django_redis_缓存配置

redis缓存session


tag:django,redis,session

1.配置redis缓存

# 缓存
CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': ['redis://127.0.0.1:6379/0'], //地址
        'KEY_PREFIX': 'django1901',   //前缀名
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
            'CONNECTTON_POOL_KWARGS': {
                'max_connections': 128,
            },
            'PASSWORD': '1qaz2wsx',
        },
    },
    'mobile': {
            'BACKEND': 'django_redis.cache.RedisCache',
            'LOCATION': ['redis://39.98.242.43:6379/1'],
            'KEY_PREFIX': 'django1901:code',
            'OPTIONS': {
                'CLIENT_CLASS': 'django_redis.client.DefaultClient',
                'CONNECTTON_POOL_KWARGS': {
                    'max_connections': 128,
                },
                'PASSWORD': '1qaz2wsx',
            },
        }
}

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'default'   //默认数据库
SESSION_COOKIE_AGE = 86400  //默认超时时间

2 使用

用户session

存入
request.session['captcha'] = captcha_text
取出
captcha_sess = request.session.get('captcha', '')

自定义cache

  • caches/cache
    使用默认的缓存只支持基本的set get
from django.core.cache import caches, caches
# 设置
caches['mobile'].set(tel, code, timeout=300) # 使用mobile缓存
cache.set(tel,code,timeout=300) # 使用默认的缓存
# 读取
code_from_cache = caches['mobile'].get(tel) # 通过tel读取缓存内容

全功能

  • get_redis_connection
    全功能(可以使用redis的所有功能)
from django_redis import get_redis_connection
get_redis_connection("default").flushall()   #清除所有数据
redis_cli = get_redis_connection(alias='mobile')

使用redis_cli.来执行redis命令

Django_redis详细文档

你可能感兴趣的:(Django_redis_缓存配置)