🎨 个人介绍

👉大家好,我是:知识的搬运工旺仔

👉认真分享技术,记录学习过程的点滴,如果我的分享能为你带来帮助,请支持我奥🍻

👉你的支持,是我每天更新的动力。

👉赞点:👍 留言:✍ 收藏:⭐

👉个人格言:想法一步一步的落实,才是你我前进最佳选择。


带你玩转Redis 的String 数据类型

  • 1. String 数据类型简介
  • 2 设置键值对
  • 3. 获取键值对
  • 4. 键值对的偏移量
  • 5. 设置键的生存时间
  • 6. 键值对的值操作
  • 7. 键值对的计算
  • 8. 键值对的值的增量


1. String 数据类型简介

  1. 它是二进制安全的,任何形式的字符串都可以储存
  2. 包括二进制数据,序列化后的数据,JSON化的对象,甚至是一张经Base64编码后的图片
  3. String 类型的键最大能储存512MB的数据

2 设置键值对

SET key value

:::success
Set 命令:设置键值对

  1. key已经存在,就会给覆盖
  2. 对于某个带有生命周期的key,设置key就会清除生命周期
    :::

MSET key value [key value]

:::success
MSET 命令:设置多个键值对

  1. key已经存在,就会给覆盖
  2. 它是一个原子性的操作(就是说,要不全部成功,错一个,全部失败)
    :::

SETNX key value

:::success
SETNX命令:设置不存在的键值对

  1. 如果key不存在,就设置值
  2. 如果key存在,就什么也不做
    :::

MSETNX key value [key value…]

:::success
MSETNX命令:设置多个不存在的键值对

  1. 如果所有key不存在,就设置值
  2. 它是一个原子性的操作(如果有一个key存在,所有的设置都会失败)
    :::

3. 获取键值对

GET key

:::success
GET key 命令:获取键值对的值

  1. GET 命令只处理字符串的值,获取值不是字符串,就会报错
  2. key不存在时,返回nil
    :::

MGET key [key…]

:::success
MGET 命令:获取多个键值对的值

  1. 存在不存在的key,返回nil
    :::

GETRANGE key start end

:::success
GETRANGE 命令:获取键的子字符串值

  1. 从索引 start 开始 到 end结束的字符串
  2. 取负值,-1 代表从最后一个字符开始,-2 代表最后第二个字符开始
    :::

4. 键值对的偏移量

SETBIT key offset value

:::success
SETBIT 命令:设置键的移量量

  1. 对key 所存储的字符串值,设置或清除指定偏移量上的位
  2. 就是说,已经存在的String类型上的key对应的值,改变值位2进制位,通过改变2进制位上的0和1,进而对key中的值,作出改变
  3. 方向是从左往右
  4. 注意这里的value 因为是二进制,所以只能是0和1
  5. key不存在的时候,自动生成一个新的字符串值,这个字符串是动态的,可扩展的
    :::

GETBIT key offset

:::success
GETBIT 命令:获取键的偏移量的值

  1. 对key 中的值,进行二进制变化,然后获取相对应偏移量上的二进制的值
  2. 超过最大长度或key不存在,返回0
    :::

5. 设置键的生存时间

SETEX key seconds value

:::success
SETEX 命令:为键设置生存时间

  1. 设置key 的生存时间为多少秒
  2. 如果key 已经存在,则SETEX命令将覆写旧值
    :::

PSETEX key milliseconds value

:::success
PSETEX 命令:为键设置生存时间(毫秒)

  1. 设置生存时间,以毫秒为单位
    :::

6. 键值对的值操作

SETRANGE key offset value

:::success
SETRANGE 命令:替换键的值

  1. 使用SETRNG 命令从指定的位置(offset) 开始,将key的值替换为新的字符串
  2. SETRANG 会在这是的偏移量上进行填充,如果原来字符的最后一个字符和设置的偏移量中间间隔,那么这些间隔,将以零字节(“\x00”)填充
  3. offset 的最大偏移量是2^29-1(536870911)
    :::

GETSET key value

:::success
GETSET 命令:为建设置新值

  1. 使用GETSET 命令设置新值,返回旧值
  2. key存在,value不是字符串类型,将会返回错误
    :::

APPEND key value

:::success
APPEND 命令:为键追加值

  1. key 存在、并且是字符串类型,将value 值追加到key 旧值的末尾
  2. key 不存在,则将key 设置值为value
    :::

7. 键值对的计算

BITCOUNT key [start] [end]

:::success
BITCOUNT 命令:计算比特位数量

  1. BITCOUNT 计算在给定的字符串中被设置为1的比特位数量
  2. 不设置start 和 end,表示计算整个字符串的1的比特位数量
  3. 如果设置 ,表示计算start 和 end 区间的字符串的1的比特位数量
    :::

BITOP operation destkey key [key…]

:::success
BITOP 命令:对键进行位元运算

  1. BITOP 对一个或多个二进制位的字符串key进行位运算,并将运算结果保存到destkey 中
  2. operation 表示位元操作符,分类有
  1. AND:表示逻辑并
  2. OR:表示逻辑或
  3. NOT:表示逻辑非
  4. XOR:表示逻辑异或
  1. NOT 只能接收一个key ,别的位元运算符,可以是一个或是多个
    :::

STRLEN key

:::success
STRLEN 命令:统计键的值的字符串长度

  1. key 存在且是字符串,统计字符串的长度
  2. key 不存在,返回0
  3. key 不是字符串,返回错误
    :::

8. 键值对的值的增量

DECR key

:::success
DECR 命令:让键的值 -1

  1. 将key中存储的数字值 -1
  2. key 不存在,先初始化value 为 0 ,然后 -1
  3. key 不是数字,将返回一个错误
    :::

DECRBY key decrement

:::success
DECR 命令:键的值减去减量值

  1. 将key 的值减去 decrement
  2. key 不存在,先初始化为0,然后 -1
  3. key 不是数字,将返回一个错误
    :::

INCR key

:::success
INCR 命令:让键的值 +1

  1. 将key中存储的数字值 +1
  2. key 不存在,先初始化value 为 0 ,然后 +1
  3. key 不是数字,将返回一个错误
    :::

INCRBY key increment

:::success
INCRBY 命令:让键的值加上一个增量值

  1. 将key 的值加上 increment
  2. key 不存在,先初始化为0,然后 +1
  3. key 不是数字,将返回一个错误
    :::

INCRBYFLOAT key increment

:::success
INCRBYFLOAT 命令:让键的值加上浮点数增量值

  1. key 的值 加上浮点数增量值 increment
  2. key 不存在,先初始化为0,然后 + increment
  3. key 不是数字,将返回一个错误
    :::

🎈看完了不妨给我点个赞吧,👉你的支持,是我每天更新的动力…