我需要加载一些不经常更改的信息字段,以验证用户可能访问的路由。
目前,我查询mongodb并将这些字段存储在redis中,并将这些字段与任何特定状态信息一起存储在用户登录时由'user:' + mongodb_user_objectid
键入的单个哈希中。
然后我为http cookie创建一个会话,并将此密钥存储为redis中的字符串,并由'sess:' + session_id
键入。
最好不要复制mongodb中的字段并处理更新redis和mongodb时其中一个验证字段可能会发生变化吗?
在不使用redis作为中间人的情况下直接从/向mongodb读取和写入此会话信息是否存在显着的性能差异?
答案 0 :(得分:14)
不幸的是,明确的答案需要使用您的设置进行测量,因为有太多潜在因素。
然而,我的猜测是使用两个数据存储的开销超过了任何潜在的优势,因为两个数据库上的读取速度应该非常快:
因此,简而言之,在这种情况下,我没有看到为什么redis会快得多的原因,但同样,性能通常是猜测,特别是当细节未知时。