使用Cookie身份验证时,每个请求要运行多少个数据库查询?

时间:2018-08-22 13:20:26

标签: node.js mongodb authentication cookies passport.js

我正在阅读有关cookie authentication及其运作方式的信息, 您将sessionID存储在cookie header内,这在向服务器的每个请求中都可用,然后服务器提取sessionID并向Session DB进行数据库查询(在使用case mongo store)将sessionID user ID作为键和值存储在其中,然后使用User IDusers table上进行另一个数据库查询以提取用户信息。< / p>

那么对于我们进行2个查询的每个请求,这都是真的吗,那效率不低吗?

1 个答案:

答案 0 :(得分:0)

  

对于我们进行2个查询的每个请求,这是真的吗?   效率低下?

是的,将有2个查询到数据库。


但是,它可能效率不高。 (除非您要创建下一个Google;)

  1. 请注意,实际上,保存sessionID的集合或表在该字段上建立了索引。这样可以使搜索更快。用户的集合或表也是如此。从userid
  2. 获取用户信息
  3. 您可以使用in-memory数据库保存sessionID。您可能需要查看Redisexpress-session页面指出radis-connect的星星超过2k。)