无法使用节点js模块连接到Redis
Cannot connect to Redis using node js module
我已经启动了 redis,运行 在端口 6379 上,通过 telnet 连接工作正常。
我正尝试在 node.js 上连接到它,但我没有收到事件侦听器的响应。
如果我调用 client.set() 之类的任何函数,我会得到:“ClientClosedError:客户端已关闭”。
这是我的代码 运行:
const redis = require('redis');
const client = redis.createClient(6379);
client.on('connect', () => {
console.log('connected');
});
client.on('end', () => {
console.log('disconnected');
});
client.on('reconnecting', () => {
console.log('reconnecting');
});
client.on('error', (err) => {
console.log('error', { err });
});
setTimeout(() => {console.log("goodbye") }, 20*1000 );
20 秒内没有任何反应,然后关闭
从node-redis
库的v4开始,初始化客户端后需要调用client.connect()
。看到这个 migration guide.
const redis = require('redis');
const client = redis.createClient({ socket: { port: 6379 } });
client.connect();
client.on('connect', () => {
console.log('connected');
});
您可能还想考虑 运行 在异步函数中使用 await
的客户端连接方法。所以你不必担心事件侦听器。
const redis = require('redis');
(async () => {
try {
const client = redis.createClient({ socket: { port: 6379 } });
await client.connect();
console.log('connected');
} catch (err) {
console.error(err)
}
})()
我已经启动了 redis,运行 在端口 6379 上,通过 telnet 连接工作正常。
我正尝试在 node.js 上连接到它,但我没有收到事件侦听器的响应。 如果我调用 client.set() 之类的任何函数,我会得到:“ClientClosedError:客户端已关闭”。
这是我的代码 运行:
const redis = require('redis');
const client = redis.createClient(6379);
client.on('connect', () => {
console.log('connected');
});
client.on('end', () => {
console.log('disconnected');
});
client.on('reconnecting', () => {
console.log('reconnecting');
});
client.on('error', (err) => {
console.log('error', { err });
});
setTimeout(() => {console.log("goodbye") }, 20*1000 );
20 秒内没有任何反应,然后关闭
从node-redis
库的v4开始,初始化客户端后需要调用client.connect()
。看到这个 migration guide.
const redis = require('redis');
const client = redis.createClient({ socket: { port: 6379 } });
client.connect();
client.on('connect', () => {
console.log('connected');
});
您可能还想考虑 运行 在异步函数中使用 await
的客户端连接方法。所以你不必担心事件侦听器。
const redis = require('redis');
(async () => {
try {
const client = redis.createClient({ socket: { port: 6379 } });
await client.connect();
console.log('connected');
} catch (err) {
console.error(err)
}
})()