我正在尝试向redis中的记录添加unix时间戳,因此我使用expireat
来执行此操作。我已经能够达到我想要的使用以下:
tokenBlacklist.set(splitId[0], splitId[1]);
tokenBlacklist.expireat(splitId[0], tokenExp); //tokenExp example: 1558786197
现在,我想知道上面的解决方案是否有任何一行代码,比如:
tokenBlacklist.set(splitId[0], splitId[1], "EX", tokenExp);
最佳答案
SET
命令只能指定ttl,而不能指定过期时间点。所以可以使用tokenExp - current-time-in-second
作为参数。
tokenBlacklist.set(splitId[0], splitId[1], "EX", tokenExp - Math.round((new Date()).getTime() / 1000));
注:
我不熟悉javascript。如果获取当前unix时间的方法有误,请指出。谢谢。