Django使用Redis/cache缓存session

本文介绍如何在Django项目中使用Redis作为会话存储,通过配置SESSION_ENGINE等参数实现高效的会话管理。文章详细解释了基于数据库、缓存及缓存+数据库混合模式的会话存储方式,并提供了安装包及Redis命令行操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储session的方式

  1. 使用存储会话的方式,可以使用settings.py的SESSION_ENGINE项指定

  2. 基于数据库的会话:这是django默认的会话存储方式,需要添加django.contrib.sessions到的INSTALLED_APPS设置中,运行manage.py
    migrate在数据库中安装会话表,可显示指定为

    SESSION_ENGINE=‘django.contrib.sessions.backends.db’

  3. 基于缓存的会话:只存在本地内在中,如果丢失则不能找回,比数据库的方式读写更快

    SESSION_ENGINE=‘django.contrib.sessions.backends.cache’

  4. 可以将缓存和数据库同时使用:优先从本地缓存中获取,如果没有则从数据库中获取

    SESSION_ENGINE=‘django.contrib.sessions.backends.cached_db’

安装包

pip install django-redis-sessions

修改settings中的配置,增加如下项

SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS_HOST = 'localhost'
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 0
SESSION_REDIS_PASSWORD = ''
SESSION_REDIS_PREFIX = 'session'

管理redis的命令

启动:sudo redis-server /etc/redis/redis.conf
停止:sudo redis-server stop
重启:sudo redis-server restart
redis-cli:使用客户端连接服务器
keys *:查看所有的键
get name:获取指定键的值
del name:删除指定名称的键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值