- String类型
set key value 设置值
set key1 value1
# 可以通过get key来获取到对应的value
get key1
# value1
# exists key 判断是否存在key
exists key1
# integer 1
exists key2
# integer 0
append key value1 向key对应的value末尾添加value1, 当key不存在时就相当于set key
append key1 123
# value1123
append key2 value2
get key2
# value2
strlen key 获取到key的value的长度
strlen key1
# integer 8
incr key 对key的value进行自增
decr key 对key的value进行自减
set views 0
incr views
get views
# 1
incr key1
# 将会报错,须为integer才能进行自增
decr views
get views
# integer 0
incrby key int 对key的value进行自增,可以指定一个步长
decrby key int 自减
incrby views 10
# integer 10
decrby views 5
# integer 5
range 可对字符串进行截取
getrange key start end
set name wangcai
getrange name 0 2
# wan
# 它是一个闭区间, 相当于python中
str_ = "wangcai"
str_[0, 3]
# wan
setrange key offset value1 将key的value从offset位置用value1来替换,将会根据value1的长度来替换,超过value1长度的数据将不会改变
get name
# wangcai
setrange name 2 ooo
get name
# waoooai
# 当key不存在时,将会set出key 若此时offset不为0, 将会使用\x00占位
set name2 0 dahuang
get name2
# dahuang
set name3 1 dahuang
get name3
# /x00dahuang
strlen name3
# 8
setex key time value 设置过期时间 time的单位为秒
setnx key value 如key时存在的将会设置失败
setex dog 30 dahuang
get dog
# dahuang
# 1分钟过后
get dog
# nil
setnx dog dahuang
# integer 1 (代表创建成功)
setnx dog dahuang
# intger 0 (代表创建失败)
批量设置和获取
mset k1 v1 k2 v2 可以设置多个值
mget k1 k2 可以获取到多个值
mset k1 1 k2 2
# ok
mget k1 k2
# 1
# 2
msetnx k1 v1 k2 v2 批量设置值,但主要有一个值设置不成功其他值也不能设置成功,这是原子性的
get k1
# 1
msetnx k1 2 k3 3
# integer 0
# 代表没有设置成功
get k1
# 1
getset key value 先去获取key的值,获取到返回值,key不存在将会set key value
getset k5 5
# integer 1
get k5
# 5
getset k1 5
# 1