我正在尝试将unix时间戳添加到redis中的记录,因此我正在使用expireat
这样做。我已经可以使用以下方法实现我想要的:
tokenBlacklist.set(splitId[0], splitId[1]);
tokenBlacklist.expireat(splitId[0], tokenExp); //tokenExp example: 1558786197
现在,我想知道上述解决方案是否有任何衬板,例如:
tokenBlacklist.set(splitId[0], splitId[1], "EX", tokenExp);
答案 0 :(得分:1)
SET
命令只能指定TTL,不能指定到期时间点。因此,您可以使用tokenExp - current-time-in-second
作为参数。
tokenBlacklist.set(splitId[0], splitId[1], "EX", tokenExp - Math.round((new Date()).getTime() / 1000));
注意:
我对javascript不熟悉。如果获取当前Unix时间的方法错误,请指出。谢谢。