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,
})}`,
]);
我正在使用 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,
})}`,
]);