Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 连接redis和express会话_Node.js_Express_Connect_Session State - Fatal编程技术网

Node.js 连接redis和express会话

Node.js 连接redis和express会话,node.js,express,connect,session-state,Node.js,Express,Connect,Session State,作为node/express的新手,我一直在为自己做一个项目,以确保我掌握了基本知识。目前,我真的很专注于会议 我通过redis建立了一个后端会话存储,并使用connect redis简化应用程序中的事情。我一直在玩cookiemaxAge和connectredisTTL,有一个简单的问题 最佳做法是同时设置connect redisTTL选项和cookiemaxAge还是maxAge足够? 强制性守则: app.use(express.session({ secret:'stackover

作为node/express的新手,我一直在为自己做一个项目,以确保我掌握了基本知识。目前,我真的很专注于会议

我通过redis建立了一个后端会话存储,并使用connect redis简化应用程序中的事情。我一直在玩cookie
maxAge
和connectredis
TTL
,有一个简单的问题

最佳做法是同时设置connect redis
TTL
选项和cookie
maxAge
还是
maxAge
足够?

强制性守则:

app.use(express.session({
  secret:'stackoverflowrulz',
  store: new RedisStore({ host: 'example.com', port: 6379, client: redis, ttl: 3600000 }),
  cookie: { maxAge: 3600000 }
}));

似乎
maxAge
cookie设置是根据我在中第118行看到的内容“通过”的,但我不是一个专业的编码员,我找不到书面文档来确认我所阅读的内容

作为一般规则,我建议将两者都设置。是的,现在设置maxAge就足够了,因为如果没有显式设置,connectredis会将ttl默认为maxAge。但这种行为在将来可能会改变。我知道这是一个老帖子。。。但是,的文档声明ttl以秒为单位,而文档显示maxAge以毫秒为单位。你在这里给了它们相同的值,因此你的ttl将比你想象的更容易受到攻击。