Django会话数据和Redis作为后端

Dav*_*vid 3 django session-storage redis

我的咨询公司接管了一个相当繁忙的Django应用程序,该应用程序通过Redis EXCEPT处理Django.session数据的缓存.唯一可用的信息是提交消息,例如"通过Redis还原会话存储".

我已经测试了存储在Redis中的Django会话,这似乎是一个很好的解决方案,但是我很犹豫要把它推到管道上,因为我想知道为什么原来的dev会拉它.

正如我理解Django会话逻辑一样,它只是一个关键:值存储,其中value是带有相关会话数据的pickle Python对象.

精简版:

使用Redis处理Django.session数据的缺点是什么?

sec*_*rve 6

Redis是存储会话的快速而快速的方式,而不是在SQL DB中添加它们(尝试监视查询会话表所花费的时间),如果您使用django-toolbar app之类的工具,这一点显而易见.

另一方面,唯一可能出现问题的是会话数据持久性,在Redis中使用2种不同的方法处理,您可以根据需要选择,请参阅文档了解更多详情,以及制作群集或故障转移Redis服务器的选项.

我遇到了类似的情况,我需要将我的会话存储在NoSQL数据库中以获得速度和其他项目相关的原因,这发生在我使用django-redisession app时,我建议尝试一下.

最后,关于您一直在谈论的购物卡问题,这绝对与Redis无关,请检查您的系统配置以及不同软件组件如何相互交互.我还建议在副本服务器上进行测试,以便在生产服务器上执行此操作,以确保一切正常运行且配置良好.

更新

顺便说一下,Stackoverflow使用Redis进行会话处理,这是使用NoSQL DB作为后端的会话管理的一个非常强大的例子.