node.js - connect-redis client.unref 不是函数

标签 node.js redis express-session redisclient

我正在 Node 中使用 Express-Session 设置 Redis。

我收到此错误:

if (options.unref) this.client.unref();
this.client.unref is not a function

这个错误指向我的node_modules中的redis-connect库。

这是我在 Node 中的基本代码:

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

那么,

var client = redis.createClient();
var sessionStore = new redisStore(client);

app.use(session({
  store: sessionStore,
  secret: 'a stringy string thing',
}))

如何解决该错误? 谢谢!

最佳答案

创建Redis存储实例的正确方法:

var sessionStore = new redisStore({ client : client });

换句话说,redisStore 需要一个选项对象作为参数传递,而不是直接传递 Redis 客户端实例。

关于node.js - connect-redis client.unref 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43875968/

相关文章:

javascript - 如何将字符串类型从 API 响应转换为图像文件 - ����\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001 -

javascript - Node.js 警报导致崩溃

node.js - Express-Session 中 req.sessionID 和 req.session.id 的区别

javascript - 如何公开 session 变量来表达 View

node.js - 使用 express-session、connect-mongo 和 mongoose 存储 session

ruby-on-rails - 检测点击了哪个反向链接

node.js - NodeJS 应用程序部署后无法在 Openshift 上运行

php - 在 Redis 上,最好将一个键与 JSON 数据存储为值,还是将多个键存储为单个值?

node.js - 不同容器上的 Docker 应用程序和数据库

node.js - ioredis 按模式删除所有键