首页 > 编程笔记
Redis SETEX命令的用法
Redis SETEX 命令的基本语法如下:
如果 key 对应的值已经存在,那么 SETEX 将覆盖旧值。
这个命令类似于以下两个命令:
返回值:设置成功时返回 OK;当 seconds 参数不合法时,返回一个错误。
实例1:key 不存在。
实例2:key 已经存在,key 对应的值将被覆盖。
SETEX key seconds value
SETEX 用于设置 key 对应的值为 String 类型的 value,并指定此 key 对应的有效期,有效期的过期时间以秒(seconds)为单位。如果 key 对应的值已经存在,那么 SETEX 将覆盖旧值。
这个命令类似于以下两个命令:
SET key value #设置值 EXPIRE key seconds # 设置过期时间不同之处在于,Redis SETEX 命令是一个原子性操作,设置值和设置过期时间两个操作会在同一时间内完成。该命令经常用在缓存操作中。
返回值:设置成功时返回 OK;当 seconds 参数不合法时,返回一个错误。
实例1:key 不存在。
127.0.0.1:6379> SETEX color 60 red # 设置color的过期时间为60s OK 127.0.0.1:6379> GET color # 获得color值 "red" 127.0.0.1:6379> TTL color # 获得color剩余的过期时间 (integer) 49 127.0.0.1:6379> GET color "red" 127.0.0.1:6379> GET color # 60s后,color值为空 (nil)本例我们添加了一个 color-red 对,并指定它的有效期是 60s。然后使用 TTL 命令查看 color 的过期时间,最后一次调用 color 是在 60s 以后,所以取不到 color 对应的值。
实例2:key 已经存在,key 对应的值将被覆盖。
127.0.0.1:6379> SET color "red" OK 127.0.0.1:6379> SETEX color 60 "green" OK 127.0.0.1:6379> GET color "green"在本例中已经设置了color对应的值,可以使用SETEX覆盖color对应的值。使用SETEX设置过期时间60s,在60s内color对应的值为green。