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详细文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容