精通Redis系列|字符串类型(String)命令详解

338 阅读3分钟

这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战

字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON化的对象甚至是一张图片。

字符串类型的数据操作总的思想是通过key操作value,key是数据标识,value是我们感兴趣的业务数据。

💍1、set

  • 语法:set key value

  • 功能:将字符串值 value 设置到 key 中,如果key已存在,后放的值会把前放的值覆盖掉。

  • 返回值:OK表示成功

💎2、get

  • 语法:get key

  • 功能:获取 key 中设置的字符串值

  • 返回值:key存在,返回key对应的value;

    key不存在,返回nil

⚽3、append

  • 语法:append key value

  • 功能:如果 key 存在,则将 value 追加到 key 原来旧值的末尾

    如果 key 不存在,则将key 设置值为 value

  • 返回值:追加字符串之后的总长度(字符个数)

⚾4、strlen

  • 语法:strlen key

  • 功能:返回 key 所储存的字符串值的长度

  • 返回值:如果key存在,返回字符串值的长度;

  key不存在,返回0

🥎5、incr

  • 语法:incr key

  • 功能:将 key 中储存的数字值加1,如果 key 不存在,则 key 的值先被初始化为 0 再执行incr  操作。

  • 返回值:返回加1后的key值

🏀6、decr

  • 语法:decr key

  • 功能:将 key 中储存的数字值减1,如果 key 不存在,则么 key 的值先被初始化为 0 再执行 decr 操作。

  • 返回值:返回减1后的key值

🎯7、incrby

  • 语法:incrby key offset

  • 功能:将 key 所储存的值加上增量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 INCRBY 命令。

  • 返回值:返回增量之后的key值。

🏸8、decrby

  • 语法:decrby key offset

  • 功能:将 key 所储存的值减去减量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 DECRBY 命令。

  • 返回值:返回减量之后的key值。

🏓9、getrange

  • 语法:getrange key startIndex endIndex

  • 功能:获取 key 中字符串值从 startIndex 开始到 endIndex 结束的子字符串,包括startIndex和endIndex, 负数表示从字符串的末尾开始,-1 表示最后一个字符。

🥊10、setrange

  • 语法:setrange key offsetIndex value

  • 功能:用value覆盖key的存储的值从offset开始。

  • 返回值:修改后的字符串的长度。

🥋11、setex

  • 语法:setex key seconds value

  • 功能:设置key的值,并将 key 的生存时间设为 seconds (以秒为单位)  ,如果key已经存在,将覆盖旧值。

  • 返回值:设置成功,返回OK。

⛳12、setnx

  • 语法:setnx key value

  • 功能:setnx 是 set if not exists 的简写,如果key不存在,则 set 值,存在则不设置值。

  • 返回值:设置成功,返回1 设置失败,返回0

🥇13、mset

  • 语法:mset key value [key value…]

  • 功能:同时设置一个或多个 key-value 对

  • 返回值:设置成功,返回OK。

🥈14、mget

  • 语法:mget key [key …]

  • 功能:获取所有(一个或多个)给定 key 的值

  • 返回值:包含所有key的列表,如果key不存在,则返回nil。

🏆15、msetnx

  • 语法:msetnx key value[key value…]

  • 功能:同时设置一个或多个 key-value 对,如果有一个key是存在的,则设置不成功。

  • 返回值:设置成功,返回1

  设置失败,返回0