在线redis数据库出错"/>
连接在线redis数据库出错
我正在尝试连接到我的在线 redis 数据库。
const redis = require('redis');
const client = redis.createClient({
password: '<password>',
socket: {
host: <host>
port: <port>
}
});
client.on('connect', function() {
console.log('client connected');
});
client.on('error', function(err) {
console.error('Error connecting to server: ', err);
});
client.set('mykey', 'myvalue', function(err, result) {
if (err) {
console.error('Error setting value - : ', err);
} else {
console.log('Value set - ', result);
}
});
但是,当尝试执行代码时,出现“Unhandled Runtime Error: Error: The client is closed”的错误。我观察到有些人建议在客户端调用“连接”方法;尽管如此,这会导致错误消息“client.connect”或“net.connect”不是函数。我正在寻求有关如何解决此问题的指导。
为了连接到我的 Redis 数据库,我使用 npm 包管理器安装了以下依赖项:redis、ioredis、redis-om 和 node-redis。
我也把值 , , 和 替换成了redis给我的值
回答如下:这是 Node Redis 3.x 的处理方式。 Node Redis 4.x 使用 Promises 而不是回调。这是 README 顶部的 connect 示例,它向您展示了这样做的首选方式:
import { createClient } from 'redis';
const client = createClient();
client.on('error', err => console.log('Redis Client Error', err));
await client.connect();
await client.set('key', 'value');
const value = await client.get('key');
await client.disconnect();
请注意,您应该只需要
redis
包来完成您正在尝试做的事情。它也是来自 Redis 的官方 Node.js 客户端。我写了 redis-om
,它使用了 redis
包,如果你使用它我会很高兴,但你想要做的事情不需要它。
更多推荐
连接在线redis数据库出错
发布评论