Redis 正在工作,尽管它在 zadd 命令上返回 false

Redis is working although it's returning false on zadd command

我正在使用 nodejs 在 redis 中测试 zadd 命令,我编写了以下代码:

const redis = require("redis");
const { promisifyAll } = require("bluebird");

promisifyAll(redis);

class Cache {
  client: any;

  constructor() {
    this.client = redis.createClient({
      host: "127.0.0.1",
      no_ready_check: true,
      password: "password",
    });
  }

  async zadd() {
    let result = this.client.zadd([
      `person`,
      0,
      `${JSON.stringify({
        id: "aklas-djsadfdf3-034ukf",
        name: "Tiago Ribeiro",
        age: 42,
      })}`,
      0,
      `${JSON.stringify({
        id: "akljsdf-034ukf",
        name: "Cleber Machado",
        age: 29,
      })}`,
    ]);

    console.log(result);

    return result;
      }
}

当我调用函数 zadd() 时,它 returns 为假。但是如果我检查 redis-cli 并执行命令 zrange person 0 -1,它会给出预期的输出:

127.0.0.1:6379> zrange person 0 -1
1) "{\"id\":\"aklas-djsadfdf3-034ukf\",\"name\":\"Tiago Ribeiro\",\"age\":42}"
2) "{\"id\":\"akljsdf-034ukf\",\"name\":\"Cleber Machado\",\"age\":29}"

为什么函数返回 false?

我将函数 client.zadd 更改为 client.zaddAsync,现在它按预期工作了

 async zadd() {
let result = await this.client.zaddAsync([
  `person`,
  0,
  `${JSON.stringify({
    id: "aklas-djsadfdf3-034ukf",
    name: "Tiago Ribeiro",
    age: 42,
  })}`,
  0,
  `${JSON.stringify({
    id: "akljsdf-034ukf",
    name: "Cleber Machado",
    age: 29,
  })}`,
]);