• SETEX key seconds value
    • 返回值
    • 代码示例

    SETEX key seconds value

    可用版本: >= 2.0.0
    时间复杂度: O(1)

    将键 key 的值设置为 value ,并将键 key 的生存时间设置为 seconds 秒钟。

    如果键 key 已经存在,那么 SETEX 命令将覆盖已有的值。

    SETEX 命令的效果和以下两个命令的效果类似:

    1. SET key value
    2. EXPIRE key seconds # 设置生存时间

    SETEX 和这两个命令的不同之处在于 SETEX 是一个原子(atomic)操作,它可以在同一时间内完成设置值和设置过期时间这两个操作,因此 SETEX 命令在储存缓存的时候非常实用。

    返回值

    命令在设置成功时返回 OK 。当 seconds 参数不合法时,命令将返回一个错误。

    代码示例

    在键 key 不存在的情况下执行 SETEX

    1. redis> SETEX cache_user_id 60 10086
    2. OK
    3.  
    4. redis> GET cache_user_id # 值
    5. "10086"
    6.  
    7. redis> TTL cache_user_id # 剩余生存时间
    8. (integer) 49

    key 已经存在,使用 SETEX 覆盖旧值:

    1. redis> SET cd "timeless"
    2. OK
    3.  
    4. redis> SETEX cd 3000 "goodbye my love"
    5. OK
    6.  
    7. redis> GET cd
    8. "goodbye my love"
    9.  
    10. redis> TTL cd
    11. (integer) 2997