redis string类型数据常用操作

常用操作

命令 说明
set 设置值
get 获取值
mset 设置多个值
mget 获取多个值
append 添加字段
del 删除
strlen 返回字符串长度
expire key 过期时间 设置 key 的过期时间
setex key 过期时间 value 指定的 key 设置值及其过期时间
incr 自增
incrby 自增多少个
decr 自减
decrby 自减多少个
getrange 获取子串
setrange 替换

1、赋值 / 获取 : set key value / get key

  • set key value : 如果不存在key ,数据库是就添加key value ,如果存在key ,value 将覆盖 原value的值
  • get key 如果存在,则返回value的值 ,如果key 不存在,返回 nil 空
    redis string类型数据常用操作

2、设置多个值/获取多个值: mset key1 values1 key2 values2 … / mget key1 key2 …

  • mset key1 values1 key2 value2 … :同时对多组key value赋值 :每一个key 对应一个value,用空格隔开,每组key value 之间用空格隔开
  • mget key1 key2 … : 同时获取多少value值 ,每个value与命令行的key位置相对应,每个key之间用空格隔开
    redis string类型数据常用操作

3.向key的value中添加值: append key value1

  • 将value1的值添加到key的value的后面 ,命令返回当前key 的字符串长度

  • 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。

  • 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。

  • value 为数值 ,不会报错,直接当字符串添加到最后

4、删除键值 :del key

  • 删除一个key value,即删除一条记录
    redis string类型数据常用操作

5、返回字符串长度 : strlen

  • 返回 key 所储存的字符串值的长度,当 key 不存在时,返回 0 。
  • 当 key 储存的不是字符串值时,返回一个错误。

6、设置 key 的过期时间:expire key 过期时间

  • 过期时间单位是秒, 0 表示不会过期,
  • key如果不存在,不会报错,
    redis string类型数据常用操作

7、设置 key 的值及过期时间:

  • 如果 key 已经存在, SETEX 命令将会替换旧的值,如果key 不存在,添加key value 并设置过期时间

8、value值+1 / value值+n : incr key / incrby n key

  • 函数返回值:执行 incr 命令之后 key 的值。
  • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
  • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

9、 value值-1 / value值-n : decr key / decrby n key

  • 函数返回值:执行 decr 命令之后 key 的值。
  • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作
  • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

10、获取指定范围值:getrange key start end

  • 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。

  • 负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。

  • 超过实际字符串值域范围,自动被符略

11、替换指定范围值 : setrange key offset value

  • 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。
  • 不存在的 key 当作空白字符串处理。
  • 如果给定 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ),那么原字符和偏移量之间的空白将用零字节(zerobytes, “\x00” )来填充。