javascript - 如何在Redis客户端中安全设置Expire?

标签 javascript redis ioredis

我遇到了奇怪的麻烦,我必须在给定的毫秒后在 redis 中设置 key 过期。经过我做了一些工作后没有问题:

Client.expire(_id, expireSeconds)

现在,redis 支持以秒为单位,现在我正在工作的整个项目都使用 MilliSecond 库短 MS( https://www.npmjs.com/package/milliseconds )。

如何安全地将每毫秒转换为redis客户端可以支持的秒?

注意:

...
expire/60000 <--- for getting minutes
...

假设如果客户端收到 key 在 15 秒后过期的请求,而不是采用分钟格式,则会像 0.14 一样,redis 客户端不支持[将发生超出范围错误]。请任何人帮我做一些可以将毫秒转换为秒并具有冗余的东西,以维持 key 必须过期的时间。

或者我错过了什么?

最佳答案

使用PEXPIRE而不是EXPIRE。此命令的工作原理与EXPIRE完全相同,只是您可以以毫秒为单位配置 key 的生存时间

关于javascript - 如何在Redis客户端中安全设置Expire?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59919369/

相关文章:

node.js - ioredis-如果redis关闭,则忽略请求

javascript - 在 ffmpeg 中使用内容类型的 quicktime 抛出错误 `moov not found`

javascript - 我可以将动态值传递给 ES6 的模板文字吗?

javascript - 如果对象包含带有空数组的键,如何删除该对象?

javascript - 从 Ember.TextField 中收集和使用值

authentication - 使用 docker 设置 redis

caching - 在本地缓存一个redis集群

laravel - 使用 Laravel 5.5 POST Axios 请求

node.js 从 redis 集群获取数据,使用 ioredis,zrange 方法不返回正确数量的数据

node.js - 无法通过 Node 应用程序连接到 redis,无论是在 docker 中