如何在 Redis 记录中添加 unix 时间戳作为过期时间?
How to add unix timestamp as expiry in Redis records?
我正在尝试将 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);
SET
命令只能指定TTL,不能指定过期时间点。所以你可以使用 tokenExp - current-time-in-second
作为参数。
tokenBlacklist.set(splitId[0], splitId[1], "EX", tokenExp - Math.round((new Date()).getTime() / 1000));
注意:
我不熟悉javascript。如果以秒为单位获取当前Unix时间的方法有误,请指出。谢谢
我正在尝试将 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);
SET
命令只能指定TTL,不能指定过期时间点。所以你可以使用 tokenExp - current-time-in-second
作为参数。
tokenBlacklist.set(splitId[0], splitId[1], "EX", tokenExp - Math.round((new Date()).getTime() / 1000));
注意:
我不熟悉javascript。如果以秒为单位获取当前Unix时间的方法有误,请指出。谢谢