Redis-如何在月末使用节点js和时刻来到期密钥

时间:2018-10-31 21:39:43

标签: node.js redis momentjs

问题:使用客户端从节点js到redis的连接客户端,并使用moment处理日期,以在月末使redis密钥过期。

1 个答案:

答案 0 :(得分:0)

解决方案:使用moment获取直到一个月的最后一天的剩余毫秒数,然后将其传递给秒(毫秒/ 1000),并与redis客户端一起,将过期时间分配给密钥。

...
let dateTo = moment().endOf('month').valueOf();
let expire = parseInt(dateTo/1000);
client.expireat('redisKeys', expire);
client.exec(function (_error, _result) {
   if (_error) {
      return cb(_error);
   }
   return cb(null, "done!");
});
...

然后在redis-cli中,您可以使用 TTL 命令进行咨询:

redis_6379:0>TTL redisKey
21882

,您将因此获得一个数字,该数字表示该键的剩余寿命,以秒为单位。