当前位置:  开发笔记 > 编程语言 > 正文

MongoDB与Redis的用户会话?

如何解决《MongoDB与Redis的用户会话?》经验,为你挑选了1个好方法。

我需要加载一些不经常更改的信息字段,以验证用户可能访问的路由.

目前,我查询mongodb并将这些字段存储在redis中,并将其存储在'user:' + mongodb_user_objectid用户登录时键入的单个哈希中的任何特定状态信息中.

然后我为http cookie创建一个会话,并将此密钥存储为redis中的字符串以及键入'sess:' + session_id.

最好不要复制mongodb中的字段,并在其中一个验证字段发生变化时处理更新redis和mongodb的问题吗?

在不使用redis作为中间人的情况下直接从/向mongodb读取和写入此会话信息是否存在显着的性能差异?



1> mnemosyn..:

不幸的是,确定的答案需要使用您的设置进行测量,因为有太多潜在因素.

但是,我的猜测是使用两个数据存储的开销超过了任何潜在的优势,因为两个数据库上的读取速度应该非常快:

由于会话将经常使用,因此集合保持非常"热",因此如果MongoDB中有任何可能的话,它可能会保留在RAM中

丢失一个会话不会很好,但它不是一个灾难,所以你可以在不等待日志提交的情况下写入MongoDB(这与redis的可靠性几乎相同)

在任何一种情况下,大多数时间(可能)花在网络堆栈上,你必须为两个数据库完成这些

因此,简而言之,在这种情况下,我没有看到为什么redis会快得多的原因,但同样,性能通常是猜测,特别是当细节未知时.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有