Node.js的Redis客户端没有Redis命令

4

我在使用 redis 包时遇到了问题。文档中写道:

这个库是 Redis 命令的一对一映射。

但是我无法通过该库的客户端访问 Redis 命令。

我是这样创建客户端的:

const client = createClient({
  socket: {
    host: process.env.REDIS_HOST,
    port: +process.env.REDIS_PORT!,
    password: process.env.REDIS_PASSWORD
  }
});

这里演示了如何导入createClient函数: import { createClient } from 'redis';

当我尝试在客户端上调用任何Redis命令时,例如:

client.rpush('key', 'value');

我遇到了一个错误:

this.client.rpush不是一个函数

console.log(Object.keys(client));的输出如下:

[
  '_events',
  '_eventsCount',
  '_maxListeners',
  'select',
  'subscribe',
  'pSubscribe',
  'unsubscribe',
  'pUnsubscribe',
  'quit'
]

我做错了什么吗?我该如何修复它?


2
这些“原始”客户端通常接受...嗯...原始的redis命令,因此您可以尝试使用client.RPUSH。话虽如此,看起来您需要先做一些事情(连接)才能使用您的客户端?您是否查看过客户端的README文件? - nitrin0
1个回答

2
根据README文件中的Redis命令部分,
引用:

所有开箱即用的Redis命令都有内置支持。它们使用原始的Redis命令名称(HSET,HGETALL等)和更友好的驼峰式版本(hSet,hGetAll等)来公开:

因此,使用rpush命令作为client.RPUSH('key', 'value');client.rPush('key', 'value');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接