在特定时间(而非持续时间)使redis缓存密钥过期

时间:2018-07-02 07:39:29

标签: node.js redis

我的代码如下所示:

client.set(name, data, 'EX', 23 * 60 * 60, (err, reply) => {

        });

它的作用是,它将键值存储23小时。但是有什么办法可以设置密钥在晚上11:59过期在晚上?

2 个答案:

答案 0 :(得分:5)

尽管接受了答案,您也可以使用EXPIREAT。但是,由于SET不支持将此作为参数,因此您需要在代码中进行两次调用。

答案 1 :(得分:1)

Redis本身不提供此功能。但是您可以计算直到午夜的秒数。

var nd = new Date().setHours(23,59,59);
var expire = Math.floor((nd-Date.now())/1000);