You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node Redis 4.2.0中KEEPTTL与XX对应的options对象键名是什么?

Node Redis v4.2.0 set方法options对象的KEEPTTL与XX参数对应键名

我已将Node环境中的Redis版本升级至^4.2.0,需将原client.set方法的逗号分隔参数改为使用options对象。我已实现带过期时间的设置,文档显示过期对应键名为"EX",代码示例如下:

const setValue = async (key, value, exp) => {
   await client.set(key, JSON.stringify(value), { EX: exp })
}

但不知"KEEPTTL"与"XX(仅更新已存在键)"对应的options对象键名是什么?需要补充下方代码的问号位置:

const updateValue = async (key, value) => {
   await client.set(key, JSON.stringify(value), { <?>: "KEEPTTL", <?>: "XX" })
}

在Node Redis v4.x版本中,KEEPTTL和XX这类命令选项在options对象中是直接以布尔类型的键来配置的,无需赋值为字符串。正确的代码写法如下:

const updateValue = async (key, value) => {
   await client.set(key, JSON.stringify(value), { KEEPTTL: true, XX: true })
}

说明:

  • XX: true:仅当目标键已存在时才执行set操作,对应Redis原命令的XX选项
  • KEEPTTL: true:保留该键原本的过期时间,对应Redis原命令的KEEPTTL选项

内容的提问来源于stack exchange,提问作者kissues

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:24:29