数据类型:String
String目录
- Set
- Get
- Mset
- Mget
- Incr
- Incrby
- Substr
- Getrange
- Setrange
String是字符串类型, redis给我们提供了String类型的value, 但是内部的实现一共有三种: int、embstr、raw; 三种的不同之处在于当value长度较小的时候使用embstr和int, 当value长度较大的时候使用raw; 另外, 当value长度较小的时候, 如果是一个数字, 那么就用int类型, 如果包含字符, 那么就用embstr类型。 可以使用: object encoding key 来查看内部到底使用的是什么数据结构。
Set
set key value [EX seconds | PX milliseconds] [NX | XX]
- 时间复杂度O(1)
- EX和PX可以选择至多一个, EX为设置过期时间秒、PX为设置过期时间毫秒
- NX和XX可以选在至多一个, NX为当不存在时设置,XX为当存在时设置
Get
get key
- 时间复杂度O(1)
- 获取某一个key对应的value
Mset
mset key value [key value...]
- 时间复杂度为O(1), 严格意义上是这里设置的键值对个数
- 同时设置多个键值对
- 不允许使用过期时间和nx|xx控制
Mget
mget key [key ...]
- 时间复杂度O(1), 严格意义上是这里获取的键值对个数
- 返回多个键值对
Incr
incr key
- 时间复杂度O(1)
- 只能用于整形, 将对应的value自增加一
- 返回值为加一后的结果, 如果value不为int,则报错。
Incrby
incrby key increment
- 时间复杂度O(1)
- 只能用于整形,将对应的value自增加上increment(正数)。
- 返回值为加后的值, 如果value不为int类型或者increment不为int类型, 则报错。
Substr
substr key arg1 arg2
- 时间复杂度O(N), N为value的长度
- 获取key对应的value中的第arg1到第arg2个字符, 下标从零计算。只返回结果,不改变原字符串
- 返回值为对应的结果。
Getrange
getrange key start end
- 时间复杂度O(N), N为value的长度
- 获取key对应的value中的第start到第end个字符, 下标从零计算。 值返回结果, 不改变原字符串
- 返回值为对应的结果
Setrange
setrange key offset value
- 时间复杂度O(N)
- 设置一个键值对, 并且从key对应value的第offset个位置开始设置, 如果前offset没有数据,则用其他字符补齐。下标从零开始。
- 返回最后的value长度。