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
相关产品推荐
相关产品推荐

