使用Redis存储Session - Django
Working with Redis to store Session - Django
我已经通过 pip
安装了 django-redis-session
并将此设置添加到 settings.py
文件:
SESSION_ENGINE = 'redis_sessions.session'
当我去终端输入:
$ redis-cli monitor
我可以在登录和注销时看到有变化(使用 python-social-auth)。
我的问题是:如何获取基于用户的session(从redis)?
如果我调用 is_authenticated()
用户函数,它可以工作,但我的数据库 (PostgreSQL) 会话 table 有 0 行。
最后,请问有什么方法可以手动写入会话密钥和数据吗?我将需要为基于存储在 redis 中的两个字段的会话使用复杂的 PK。
您应该能够通过 request.session
获取当前会话。这应该可以工作,无论您使用哪个会话后端,无论用户是否登录。
有关详细信息,请参阅 using sessions in views 上的文档。
我已经通过 pip
安装了 django-redis-session
并将此设置添加到 settings.py
文件:
SESSION_ENGINE = 'redis_sessions.session'
当我去终端输入:
$ redis-cli monitor
我可以在登录和注销时看到有变化(使用 python-social-auth)。
我的问题是:如何获取基于用户的session(从redis)?
如果我调用 is_authenticated()
用户函数,它可以工作,但我的数据库 (PostgreSQL) 会话 table 有 0 行。
最后,请问有什么方法可以手动写入会话密钥和数据吗?我将需要为基于存储在 redis 中的两个字段的会话使用复杂的 PK。
您应该能够通过 request.session
获取当前会话。这应该可以工作,无论您使用哪个会话后端,无论用户是否登录。
有关详细信息,请参阅 using sessions in views 上的文档。