gpt4 book ai didi

javascript - 如何修复 Redis 中 HSET 的参数错误?

转载 作者:可可西里 更新时间:2023-11-01 11:14:46 28 4
gpt4 key购买 nike

我正在使用 Redis 在 NodeJS 和 MongoDB 中实现一个缓存层。我是 Redis 的新手。所以我在尝试在给定时间后自动清除缓存时遇到了麻烦。我得到的错误

ReplyError: ERR wrong number of arguments for 'hset' command

这是我的代码块

mongoose.Query.prototype.exec = async function() {

const key = JSON.stringify(
Object.assign({}, this.getQuery(), {collection:
this.mongooseCollection.name})
);
const cachedValue = await client.hget(this.hashKey, key);

if(cachedValue) {
const parsedDoc = JSON.parse(cachedValue);

return Array.isArray(parsedDoc) ? parsedDoc.map(doc => new
this.model(doc)) : new this.model(parsedDoc);
}

const result = await exec.apply(this, arguments);

client.hset(this.hashKey, key, JSON.stringify(result), 'EX', 10);

return result;
}

最佳答案

Redis HSET 只接受 3 个参数。如果你想在一次调用中存储多个 key ,你应该使用 HMSET

引用:

https://redis.io/commands/hset

https://redis.io/commands/hmset

client.hmset(this.hashKey, key, JSON.stringify(result), 'EX', 10);

应该可以。

关于javascript - 如何修复 Redis 中 HSET 的参数错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54042517/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com