问题:使用客户端从节点js到redis的连接客户端,并使用moment处理日期,以在月末使redis密钥过期。
答案 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
,您将因此获得一个数字,该数字表示该键的剩余寿命,以秒为单位。