🎨 个人介绍
👉大家好,我是:知识的搬运工旺仔
👉认真分享技术,记录学习过程的点滴,如果我的分享能为你带来帮助,请支持我奥🍻
👉你的支持,是我每天更新的动力。
👉赞点:👍 留言:✍ 收藏:⭐
👉个人格言:想法一步一步的落实,才是你我前进最佳选择。
带你玩转Redis 的String 数据类型
- 1. String 数据类型简介
- 2 设置键值对
- 3. 获取键值对
- 4. 键值对的偏移量
- 5. 设置键的生存时间
- 6. 键值对的值操作
- 7. 键值对的计算
- 8. 键值对的值的增量
1. String 数据类型简介
- 它是二进制安全的,任何形式的字符串都可以储存
- 包括二进制数据,序列化后的数据,JSON化的对象,甚至是一张经Base64编码后的图片
- String 类型的键最大能储存512MB的数据
2 设置键值对
SET key value
:::success
Set 命令:设置键值对
- key已经存在,就会给覆盖
- 对于某个带有生命周期的key,设置key就会清除生命周期
:::
MSET key value [key value]
:::success
MSET 命令:设置多个键值对
- key已经存在,就会给覆盖
- 它是一个原子性的操作(就是说,要不全部成功,错一个,全部失败)
:::
SETNX key value
:::success
SETNX命令:设置不存在的键值对
- 如果key不存在,就设置值
- 如果key存在,就什么也不做
:::
MSETNX key value [key value…]
:::success
MSETNX命令:设置多个不存在的键值对
- 如果所有key不存在,就设置值
- 它是一个原子性的操作(如果有一个key存在,所有的设置都会失败)
:::
3. 获取键值对
GET key
:::success
GET key 命令:获取键值对的值
- GET 命令只处理字符串的值,获取值不是字符串,就会报错
- key不存在时,返回nil
:::
MGET key [key…]
:::success
MGET 命令:获取多个键值对的值
- 存在不存在的key,返回nil
:::
GETRANGE key start end
:::success
GETRANGE 命令:获取键的子字符串值
- 从索引 start 开始 到 end结束的字符串
- 取负值,-1 代表从最后一个字符开始,-2 代表最后第二个字符开始
:::
4. 键值对的偏移量
SETBIT key offset value
:::success
SETBIT 命令:设置键的移量量
- 对key 所存储的字符串值,设置或清除指定偏移量上的位
- 就是说,已经存在的String类型上的key对应的值,改变值位2进制位,通过改变2进制位上的0和1,进而对key中的值,作出改变
- 方向是从左往右
- 注意这里的value 因为是二进制,所以只能是0和1
- key不存在的时候,自动生成一个新的字符串值,这个字符串是动态的,可扩展的
:::
GETBIT key offset
:::success
GETBIT 命令:获取键的偏移量的值
- 对key 中的值,进行二进制变化,然后获取相对应偏移量上的二进制的值
- 超过最大长度或key不存在,返回0
:::
5. 设置键的生存时间
SETEX key seconds value
:::success
SETEX 命令:为键设置生存时间
- 设置key 的生存时间为多少秒
- 如果key 已经存在,则SETEX命令将覆写旧值
:::
PSETEX key milliseconds value
:::success
PSETEX 命令:为键设置生存时间(毫秒)
- 设置生存时间,以毫秒为单位
:::
6. 键值对的值操作
SETRANGE key offset value
:::success
SETRANGE 命令:替换键的值
- 使用SETRNG 命令从指定的位置(offset) 开始,将key的值替换为新的字符串
- SETRANG 会在这是的偏移量上进行填充,如果原来字符的最后一个字符和设置的偏移量中间间隔,那么这些间隔,将以零字节(“\x00”)填充
- offset 的最大偏移量是2^29-1(536870911)
:::
GETSET key value
:::success
GETSET 命令:为建设置新值
- 使用GETSET 命令设置新值,返回旧值
- key存在,value不是字符串类型,将会返回错误
:::
APPEND key value
:::success
APPEND 命令:为键追加值
- key 存在、并且是字符串类型,将value 值追加到key 旧值的末尾
- key 不存在,则将key 设置值为value
:::
7. 键值对的计算
BITCOUNT key [start] [end]
:::success
BITCOUNT 命令:计算比特位数量
- BITCOUNT 计算在给定的字符串中被设置为1的比特位数量
- 不设置start 和 end,表示计算整个字符串的1的比特位数量
- 如果设置 ,表示计算start 和 end 区间的字符串的1的比特位数量
:::
BITOP operation destkey key [key…]
:::success
BITOP 命令:对键进行位元运算
- BITOP 对一个或多个二进制位的字符串key进行位运算,并将运算结果保存到destkey 中
- operation 表示位元操作符,分类有
- AND:表示逻辑并
- OR:表示逻辑或
- NOT:表示逻辑非
- XOR:表示逻辑异或
- NOT 只能接收一个key ,别的位元运算符,可以是一个或是多个
:::
STRLEN key
:::success
STRLEN 命令:统计键的值的字符串长度
- key 存在且是字符串,统计字符串的长度
- key 不存在,返回0
- key 不是字符串,返回错误
:::
8. 键值对的值的增量
DECR key
:::success
DECR 命令:让键的值 -1
- 将key中存储的数字值 -1
- key 不存在,先初始化value 为 0 ,然后 -1
- key 不是数字,将返回一个错误
:::
DECRBY key decrement
:::success
DECR 命令:键的值减去减量值
- 将key 的值减去 decrement
- key 不存在,先初始化为0,然后 -1
- key 不是数字,将返回一个错误
:::
INCR key
:::success
INCR 命令:让键的值 +1
- 将key中存储的数字值 +1
- key 不存在,先初始化value 为 0 ,然后 +1
- key 不是数字,将返回一个错误
:::
INCRBY key increment
:::success
INCRBY 命令:让键的值加上一个增量值
- 将key 的值加上 increment
- key 不存在,先初始化为0,然后 +1
- key 不是数字,将返回一个错误
:::
INCRBYFLOAT key increment
:::success
INCRBYFLOAT 命令:让键的值加上浮点数增量值
- key 的值 加上浮点数增量值 increment
- key 不存在,先初始化为0,然后 + increment
- key 不是数字,将返回一个错误
:::
🎈看完了不妨给我点个赞吧,👉你的支持,是我每天更新的动力…