Redis中String类型及操作
string
string 是redis中最简单的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象,从内部实现来看,string可以看作byte数组。
redis的key是string类型,redis也有string类型的value。
对于redis的key来说有一些规则:
- key不应过长,否则存储压力大,而且查找比较麻烦,可以存哈希
- key不应过短,太短可读性不好
- redis允许的最大的key是512MB
对string类型的操作
- set
set key value
设置一个键值对,value为string类型 - setnx
setnx key value 设置键值对,如果key已经存在了,就返回0,不修改原键值对 - setex
setex key seconds value,设置键值对只在一定时间内有效 - setrange
set key offset value 将key对应的value从offset位置开始替换为新的value - mset
mset k1 v1 k2 v2 k3 v3
一次性设置多个key的值,ok表示全设置成功,0表示没有任何值被设置 - msetnx
与mset相似,但不会覆盖已存在的值 - get
get key 获取key对应的value值 - getset
getset key value ,设置key对应的值为value,并返回key之前对应的值 - getrange
get key start end ,获取key对应value的子字符串 - mget
一次获取多个key的值。若key不存在,返回对应nil - incr
incr key 使key对应的value值+1,前提value值得是一个整数,否则会报错:
(error) ERR value is not an integer or out of range - incrby
incrby key increment incr是加一,这个是加步长。 - decr
与incr相反 - decrby
与incrby相反 - append
append key value 把value追加上去 - strlen
strlen key, 获取key对应value值的长度