数据类型: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长度。
 
