带选项的Redis SET,没有到期

Ros*_*ane 1 redis

我正在写一个将密钥存储在Redis或Memcached中的库。为了保持通用性,我想SET在所有set操作中使用它,但是我一直在努力寻找一个等于“永不过期”的过期值。我可以发送哨兵值吗?

例如,如果到期时间为100,我想发送:

SET myKey myValue ex 100 NX
Run Code Online (Sandbox Code Playgroud)

但如果没有过期,我宁愿这样做

SET myKey myValue ex -1 NX
Run Code Online (Sandbox Code Playgroud)

而不是

SETNX myKey myValue
Run Code Online (Sandbox Code Playgroud)

有趣的是,似乎没有任何一种方法可以等效地SET使用XX没有到期的期权。

The*_*ill 5

只需发送带EX选项的set命令即可

Set key value NX 
Run Code Online (Sandbox Code Playgroud)