Redis 提供了丰富的字符串类型操作命令,支持设置、获取、修改、追加等多种功能。本文整理了常用的 Redis 字符串命令,并附带详细示例,方便学习和复习。
1. SET
命令
作用:设置指定 key
的值。
示例:
SET mykey "Hello, Redis!"
GET mykey
输出:
"Hello, Redis!"
2. SETNX
命令
作用:只有在 key
不存在时才设置 key
的值。
示例:
SETNX mykey "Hello"
SETNX mykey "World" # 失败,因为 mykey 已存在
3. GET
命令
作用:获取 key
的值。
示例:
GET mykey
4. MSET
命令
作用:同时设置多个 key-value
对。
示例:
MSET key1 "value1" key2 "value2"
GET key1
GET key2
5. MGET
命令
作用:获取多个 key
的值。
示例:
MGET key1 key2
6. SETEX
命令
作用:设置 key
的值,并设置过期时间(秒)。
示例:
SETEX mykey 10 "temp value"
TTL mykey # 查看剩余时间
7. PSETEX
命令
作用:以毫秒为单位设置 key
的生存时间。
示例:
PSETEX mykey 5000 "temp value"
PTTL mykey # 查看剩余时间(毫秒)
8. APPEND
命令
作用:追加值到 key
的末尾。
示例:
SET mykey "Hello"
APPEND mykey ", Redis!"
GET mykey # 输出 "Hello, Redis!"
9. STRLEN
命令
作用:返回 key
储存的字符串值的长度。
示例:
STRLEN mykey
10. GETSET
命令
作用:将 key
的值设为新值,并返回旧值。
示例:
SET mykey "old value"
GETSET mykey "new value" # 返回 "old value"
GET mykey # 返回 "new value"
11. INCR
命令
作用:将 key
的值加 1。
示例:
SET counter 10
INCR counter # 结果变为 11
12. INCRBY
命令
作用:增加 key
指定的增量值。
示例:
INCRBY counter 5 # counter 变为 16
13. INCRBYFLOAT
命令
作用:将 key
的值加上指定的浮点增量值。
示例:
INCRBYFLOAT counter 2.5 # counter 变为 18.5
14. DECR
命令
作用:将 key
的值减 1。
示例:
DECR counter # counter 变为 17.5
15. DECRBY
命令
作用:减少 key
指定的减量值。
示例:
DECRBY counter 3 # counter 变为 14.5
16. GETRANGE
命令
作用:返回 key
中字符串值的子字符串。
示例:
SET mykey "Hello, Redis!"
GETRANGE mykey 0 4 # 输出 "Hello"
17. SETRANGE
命令
作用:覆写 key
存储的字符串值,从偏移量 offset
开始。
示例:
SET mykey "Hello, Redis!"
SETRANGE mykey 7 "World"
GET mykey # 输出 "Hello, World!"
18. SETBIT
命令
作用:设置 key
存储的字符串值的特定位(bit)。
示例:
SETBIT mykey 7 1
GETBIT mykey 7 # 返回 1
19. GETBIT
命令
作用:获取 key
存储的字符串值的特定位(bit)。
示例:
GETBIT mykey 7
20. MSETNX
命令
作用:当所有 key
都不存在时,设置多个 key-value
。
示例:
MSETNX key1 "value1" key2 "value2"
总结
命令 | 作用 |
---|---|
SET | 设置 key 的值 |
SETNX | 仅当 key 不存在时设置值 |
GET | 获取 key 的值 |
MSET | 设置多个 key-value 对 |
MGET | 获取多个 key 的值 |
SETEX | 设置 key,并指定过期时间(秒) |
PSETEX | 设置 key,并指定过期时间(毫秒) |
APPEND | 追加字符串到 key 的值 |
STRLEN | 获取 key 的值的长度 |
GETSET | 设置 key 的新值,并返回旧值 |
INCR | 递增 key 的数值 |
INCRBY | 递增指定数值 |
INCRBYFLOAT | 递增指定浮点数值 |
DECR | 递减 key 的数值 |
DECRBY | 递减指定数值 |
GETRANGE | 获取 key 的部分字符串 |
SETRANGE | 从偏移量开始修改字符串 |
SETBIT | 设置 key 储存字符串的二进制位 |
GETBIT | 获取 key 储存字符串的二进制位 |
MSETNX | 仅当所有 key 都不存在时设置多个 key-value |
Redis 提供了丰富的字符串操作命令,涵盖了基本的存取、修改、追加、计数和位操作。熟练掌握这些命令,有助于更高效地使用 Redis 进行数据存储和处理。