Redis - Как истечь ключ в конце месяца, с узлом js и моментом - PullRequest
0 голосов
/ 01 ноября 2018

Проблема: истечь ключ redis в конце месяца, используя клиент подключения к redis из узла js, и использовать момент для работы с датами.

1 Ответ

0 голосов
/ 01 ноября 2018

Решение: используйте момент для получения оставшихся миллисекунд до последнего дня месяца, затем передайте его в секундах (миллисекунды / 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

и в результате вы получите число, представляющее оставшееся время жизни этого ключа в секундах.

...