Django session 数据和 Redis 作为后端

标签 django redis session-storage

我的咨询公司接管了一个相当繁忙的 Django 应用程序,该应用程序通过 Redis 处理缓存,除了 Django.session 数据。唯一可用的信息是提交消息,例如“通过 Redis 恢复 session 存储”。

我已经测试了存储在 Redis 中的 Django session ,这似乎是一个很好的修复,但我对将其插入管道犹豫不决,因为我想知道为什么原始开发人员将其撤下。

据我了解 Django session 逻辑,它只是一个键:值存储,其中值是一个带有相关 session 数据的腌制 Python 对象。

精简版:

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

最佳答案

Redis 是存储 session 的快速方法,而不是将它们添加到 SQL 数据库中(尝试监控查询 session 表所花费的时间),如果您使用 django-toolbar app 等工具,这一点将显而易见.

另一方面,唯一可能出现问题的是你的 session 数据持久化,这在 Redis 中有两种不同的方法,你可以选择适合你的需要,请引用文档有关详细信息,以及创建集群或故障转移 Redis 服务器的选项。

我遇到过类似的情况,出于速度和其他与项目相关的原因,我需要将我的 session 存储在 NoSQL 数据库中,碰巧我使用了 django-redisession 应用程序,我建议您尝试一下。

最后,关于你提到的购物卡问题,这绝对与Redis无关,请检查你的系统配置以及不同软件组件之间的交互方式。我还建议在复制服务器中进行测试,而不是在生产服务器上进行测试,以确保一切正常工作且配置良好。

更新

顺便说一句,Stackoverflow 使用 Redis 进行 session 处理,这是使用 NoSQL 数据库作为后端的 session 管理的一个非常好的例子。

关于Django session 数据和 Redis 作为后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13664069/

相关文章:

python - 扩展用户模型 Django REST framework 3.x.x

redis - Redis 中的跨集群复制

docker - 在 k8s 中部署 Redis 时使用 args 设置 requirepass 适用于 $() 但不适用于 ${}

javascript - sessionStorage 数据不会在带有 ngStorage 的 AngularJS 应用程序中持续存在

javascript - session 存储在获取时是否有延迟?

python - 在 django admin 中查看上传图像的缩略图

python - 是否有 Django "app"可以管理用户的个人资料?

python - Django注册打开其他模板

sorting - 如何在 Redis 中对 hset 进行排序?

Angular 6、ADAL、Azure 重定向 Uri、MS Edge 重定向到 ../null