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值的长度