使用Azure Redis缓存存储节点JS快速会话

时间:2017-04-01 13:59:58

标签: node.js azure express redis

我尝试使用Azure构建Express 4 Web App。我在几篇文章中发现我可以在Azure Redis Cache中存储会话。但是,我应该如何将我的网络应用程序连接到redis缓存?

var session = require('express-session');
var redis = require('redis');
var RedisStore = require('connect-redis')(session); 
var client = redis.createClient(6380, 'MyHost', { auth_pass: 'MyPass', tls: { servername: 'MyHostName' } });

app.use(session({
    secret: 'keyboard cat',
    key: 'sid',
    resave: false,
    saveUninitialized: false,
    store: new RedisStore(client);
}));

但是当我运行应用程序时它会返回错误。话 TypeError:this.client.unref不是函数

我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

您可能在RedisStore构造函数中犯了错误。

更改以下代码行store: new RedisStore(client);,如下所示:

store: new RedisStore({client: client});