首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Redis不在express-session上工作

Redis不在express-session上工作
EN

Stack Overflow用户
提问于 2015-12-18 13:39:25
回答 2查看 1.3K关注 0票数 0

下面的代码是一个正常的代码片段,但它不工作,请求中的会话是未定义的。任何人谁能给我一个提示,将不胜感激。

代码语言:javascript
运行
复制
var express = require('express');
var session = require('express-session');
var redisStore = require('connect-redis')(session);

var app = express();
app.listen(3000);

app.use(session({
  store: new redisStore({
    host:'localhost',
    port:'8543'
  }),
  resave: false,
  saveUninitialized: true,
  secret: 'somesecrettoken'
}));

app.get('/', function (req, res) {
  if(req.session.isVisit) {
    req.session.isVisit++;
    res.send('<p>times to be here:' + req.session.isVisit + '</p>');
  } else {
    req.session.isVisit = 1;
    res.send('1st time to be here');
  }
});

EN

回答 2

Stack Overflow用户

发布于 2015-12-18 15:01:58

需要Redis客户端

代码语言:javascript
运行
复制
var redis = require("redis"); // You can use any module to create redis client

app.use(session({
  store: new redisStore({
    client : redis.createClient(<your setting>)
    host:'localhost',
    port:'8543'
  }),
  resave: false,
  saveUninitialized: true,
  secret: 'somesecrettoken'
}));
票数 1
EN

Stack Overflow用户

发布于 2015-12-18 15:09:39

请参阅此链接:https://www.npmjs.com/package/connect-redis

将express-session存储传递给connect-redis以创建一个RedisStore构造函数。

代码语言:javascript
运行
复制
var session = require('express-session');
var RedisStore = require('connect-redis')(session);

app.use(session({
    store: new RedisStore(options),
    secret: 'keyboard cat'
}));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34349149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档