我曾经做过client.setex(key, 900, value)
来存储单个键值。
但是,我想存储一个有过期时间的对象。
我想出了函数hmset
,但是我不知道如何设置到期时间。
我想用它来存储对话中当前聊天的上下文和文本。
请帮助
答案 0 :(得分:3)
要使哈希(或与此有关的任何其他Redis密钥)失效,请调用EXPIRE
命令。就您而言:
client.hmset(key, ...
client.expire(key, 9000)
答案 1 :(得分:0)
确保在密钥后设置到期时间的一种好方法是将进程包装在ES6异步函数中:
async function (keyString, token, ttl) {
return new Promise(function(resolve, reject) {
redisClient.hmset("auth", keyString, token, function(error,result) {
if (error) {
reject(error);
} else {
redisClient.expire(keyString, ttl)
resolve(result);
}
});
});
}