语法

  1. SET key value [EX seconds] [PX milliseconds] [EXAT timestamp] [PXAT timestamp] [XX] [NX] [KEEPTTL]

SET 命令用于设置或更新一个 <key, value> 键值对。

SET 根据值的类型来确定存储方式。如果值是整数,它将作为整数存储,否则作为字符串存储。

选项说明:

  • EX seconds:设置过期时间(单位:秒)
  • PX milliseconds:设置过期时间(单位:毫秒)
  • EXAT timestamp:设置过期时间为 Unix 时间戳(秒级)
  • PXAT timestamp:设置过期时间为 Unix 时间戳(毫秒级)
  • XX:仅在键已存在时设置
  • NX:仅在键不存在时设置
  • KEEPTTL:保持键的现有过期时间
  • GET:在设置键值后返回该键的值

成功时,返回 “OK”。如果键未设置或更新,返回 (nil)。如果提供了 GET 选项,则返回键的值。

示例

  1. localhost:7379> SET k 43
  2. OK
  3. localhost:7379> SET k 43 EX 10
  4. OK
  5. localhost:7379> SET k 43 PX 10000
  6. OK
  7. localhost:7379> SET k 43 EXAT 1772377267
  8. OK
  9. localhost:7379> SET k 43 PXAT 1772377267000
  10. OK
  11. localhost:7379> SET k 43 XX
  12. OK
  13. localhost:7379> SET k 43 NX
  14. OK (nil)
  15. localhost:7379> SET k 43 KEEPTTL
  16. OK
  17. localhost:7379> SET k 43 GET
  18. OK 43