在读本文之前,建议阅读文章:Redis Set命令详解.
在了解了set的原理之后,setnx、setex、psetex命令的原理我们也应该大致了解了,这3个命令也是先调用了tryObjectEncoding将值优化,再调用setGenericCommand将key-value设置到数据库,只不过这3个命令不需要解析额外参数。
格式:
setnx key value
格式:
setex key seconds value
格式:
psetex key milliseconds value
UNIT_MILLISECONDS
,表示不需要考虑数据库中是否存在key,且时间单位为毫秒。