#字符串操作命令
#设置key-value 如果存在key相同的value则会替换
set key value
#获取key-value 如果获取的key不存在 则返回none (nil)
get key
#删除key-value 删除成功返回 1 删除失败或者键不存在返回 0
del key
#无论key是否存在,都设置
set key value
#key不存在,才设置 对已经存在的key返回 0
setnx key value
#key存在,才设置 key不存在返回none (nill)
set key value xx
#set key newvalue 并返回旧的value
getset key newvalue
#将value追加到旧的value中
append key value
#返回字符串的长度(注意中文长度 在utf8下一个汉字是两个字节)
strlen key
#数字操作命令
#key自增1 如果key不存在,自增后get(key) = 1 设置成功后返回 1
incr key
#key自减1 如果key不存在,自减后gey(key) = -1
decr key
#key自增k,如果key不存在,自增后get(key) = k 设置成功后返回 k
incrby key k
#key自减k,如果key不存在,自减后get(key) = -k
decr key k
#浮点值 增加key对应的值3.5
incrbyfloat key 3.5
#获取字符串指定下标所有的值 索引从0开始
getrange key start end
#设置指定下标所对应的值 索引从0开始
setrange key index value
#以上命令的时间复杂度都是O(1)
#批量获取key,原子操作
mget key1 key2 key3
#批量设置key-value
mset key1 value1 key2 value2 key3 value3
#可以节省网络开销,但是时间复杂度为O(n)