使用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 上的文档。