本文主要参考红丸出品的《Redis实战》,稳定版本为 2.2.12。
string 类型及操作
1.1 set
设置 key 对应的值为 string 类型的 value。
set key value
1.2 setnx
设置 key 对应的值为 string 类型的 value,如果 key 已经存在,那么不会成功,即该命令仅为添加操作。
setnx key value
1.3 setex
设置 key 对应的值为 string 类型的 value,并指定此键值对应的有效期,单位为秒。
setex key 10 value
1.4 setrange
设置指定 key 的 value 值得子字符串,下标从 0 开始。
旧值为:key = value@qq.com
setrange key 6 126.com
新值为:key = value@126.com
1.5 mset
一次性设置多个 key 的值,成功返回 OK 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。
mset key1 value1 key2 value2 ...
1.6 msetnx
一次性设置多个 key 的值,成功返回 OK 表示所有的值都设置了,失败返回 0 表示没有任何值被设置,并且不会覆盖已经存在的 key,即该命令仅为添加操作。
msetnx key1 value1 key2 value2 ...
1.7 get
获取 key 对应的 string 值,key 不存在则返回 nil。
get key
1.8 getset
设置 key 的值,并返回 key 的旧值,key 不存在则返回 nil。
getset key newValue
1.9 getrange
获取指定 key 的 value 值的子字符串。
key = value@qq.com
左边下标从 0 开始
getrange key 0 4
返回 value
右边下标从 -1 开始
getrange key -6 -1
返回 qq.com
1.10 mget
一次性获取多个 key 的值,key 不存在则返回 nil。
mget key1 key2 key3 ...
1.11 incr
对 key 的值做加加操作,并返回新值。
注意:
- 若 value 不是一个 int 类型的会返回错误。
- 若 key 不存在,则把对应 value 置为 1。
incr key
1.12 incrby
对 key 的值做加指定值操作,并返回新值。
注意:
-
若 value 不是一个 int 类型的会返回错误。
-
若 key 不存在,则认为原来 value 值为 0。
incrby key 10
1.13 decr
对 key 的值做减减操作,并返回新值。
注意:
- 若 value 不是一个 int 类型的会返回错误。
- 若 key 不存在,则把对应 value 置为 -1。
decr key
1.14 decrby
对 key 的值做减指定值操作,并返回新值。
注意:
-
若 value 不是一个 int 类型的会返回错误。
-
若 key 不存在,则认为原来 value 值为 0。
decrby key 10
1.15 append
给指定 key 的 value 值追加新的 value1,返回新 value 值得长度。
key = value@qq.com
append key @126.com
key = value@qq.com@126.com
1.16 strlen
获取指定 key 的 value 值的长度。
strlen key