最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

连接在线redis数据库出错

网站源码admin35浏览0评论

连接在线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
包,如果你使用它我会很高兴,但你想要做的事情不需要它。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论