使用Redis存储Session - Django

时间:2016-03-02 14:31:36

标签: django redis django-sessions django-redis

我已通过pip安装了django-redis-session,并将此设置添加到settings.py文件中:

SESSION_ENGINE = 'redis_sessions.session'

当我去终端并输入:

$ redis-cli monitor

我可以看到登录和注销时发生了变化(使用python-social-auth)。

我的问题是:如何根据用户获取会话(来自redis)?

如果我调用is_authenticated()用户的功能它可以工作,但我的DB(PostgreSQL)会话表有0行。

Fianlly,有没有办法手动编写会话密钥和数据?我将需要使用复杂的PK进行基于redis中存储的两个字段的会话。

1 个答案:

答案 0 :(得分:2)

您应该可以使用request.session获取当前会话。无论用户是否登录,无论您使用哪个会话后端,这都应该有效。

有关详细信息,请参阅using sessions in views上的文档。