繁体   English   中英

Redis无法进行快速会话

[英]Redis not working on express-session

下面的代码是一个正常的代码段,但是它不起作用,来自请求的会话未定义。 任何可以给我提示的人将不胜感激。

 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'); } }); 

需要Redis客户端

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'
}));

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

将快速会话存储传递到connect-redis中以创建RedisStore构造函数。

var session = require('express-session');
var RedisStore = require('connect-redis')(session);

app.use(session({
    store: new RedisStore(options),
    secret: 'keyboard cat'
}));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM