Redis超强入门指南—数据类型操作命令(上)

本篇文章主要内容
字符串类型(string)
哈希类型 hash
视频观看戳👇👇👇

字符串类型(string)
字符串类型是 Redis 中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON 格式数据。
基本命令
先测试能连接到 redis 服务器

1. set
将字符串值 value 设置到 key 中
语法:set key value

查看已经插入的 key

向已经存在的 key 设置新的 value,会覆盖原来的值

2. get
获取 key 中设置的字符串值
语法:get key
例如:获取 username 这个 key 对应的value

3. incr
将 key 中储存的数字值加 1,如果 key 不存在,则 key 的值先被初始化为 0 再执行
incr 操作(只能对数字类型的数据操作) 语法:incr key
例 1:操作key,值增加 1

例 2:对非数字的值操作是不行的

4. decr
将 key 中储存的数字值减1,如果 key 不存在,则么 key 的值先被初始化为 0 再执
行 decr 操作(只能对数字类型的数据操作)
语法:decr key
例1:不存在的key,初值为0,再减 1 。

例2:对存在的数字值的key ,减 1 。
先执行 incr index ,增加到 3

incr ,decr 在实现关注人数上,文章的点击数上。
5. append
语法:append key value
说明:如果 key 存在,则将 value 追加到 key 原来旧值的末尾如果 key 不存在,则将 key 设置值为 value
返回值:追加字符串之后的总长度
例 1:追加内容到存在的 key

例 2:追加到不存在的 key,同 set key value

常用命令
1. strlen
语法:strlen key
说明:返回key 所储存的字符串值的长度
返回值:
①:如果key存在,返回字符串值的长度
②:key不存在,返回0
例 1:计算存在 key 的字符串长度

设置中文 set k4 中文长度,按字符个数计算
例 2:计算不存在的key

2. getrange
语法:getrange key start end
作用:获取 key 中字符串值从 start 开始到 end 结束的子字符串,包括 start 和 end, 负数表示从字符串的末尾开始,-1 表示最后一个字符
返回值:截取的子字符串。
使用的字符串 key: school, value: bjpowernode
例 1: 截取从 2 到 5 的字符

例 2:从字符串尾部截取,start ,end 是负数,最后一位是-1

例 3:超出字符串范围的截取,获取合理的子串

3. setrange
语法:setrange key offset value
说明:用value 覆盖(替换)key 的存储的值从 offset 开始,不存在的 key 做空白字符串。
返回值:修改后的字符串的长度
例 1:替换给定的字符串

例 2:设置不存在的 key

4. mset
语法:mset key value [key value…]
说明:同时设置一个或多个 key-value 对
返回值:OK
例 1:一次设置多个 key,value

5. mget
语法:mget key [key …]
作用:获取所有(一个或多个)给定 key 的值
返回值:包含所有 key 的列表
例 1:返回多个 key 的存储值

例 2:返回不存在的 key

哈希类型 hash
redis hash 是一个 string 类型的 field 和value 的映射表,hash 特别适合用于存储对象。
基本命令
1. hset
语法:hset hash 表的 key field value
作用:将哈希表 key 中的域 field 的值设为 value,如果 key 不存在,则新建 hash 表,执行赋值,如果有 field ,则覆盖值。
返回值:
①如果 field 是 hash 表中新 field,且设置值成功,返回 1
②如果 field 已经存在,旧值覆盖新值,返回 0
例 1:新的 field

例 2:覆盖旧的的 field

2. hget
语法:hget key field
作用:获取哈希表 key 中给定域 field 的值
返回值:field 域的值,如果 key 不存在或者 field 不存在返回 nil
例 1:获取存在 key 值的某个域的值

例 2:获取不存在的 field

3. hmset
语法:hmset key field value [field value…]
说明:同时将多个 field-value (域-值)设置到哈希表 key 中,此命令会覆盖已经存在的 field, hash 表 key 不存在,创建空的 hash 表,执行 hmset.
返回值:设置成功返回 ok,如果失败返回一个错误
例 1:同时设置多个 field-value

使用redis-desktop-manager 工具查看 hash 表 website 的数据结构

例 2:key 类型不是 hash,产生错误

4. hmget
语法:hmget key field [field…]
作用:获取哈希表 key 中一个或多个给定域的值
返回值:返回和 field 顺序对应的值,如果 field 不存在,返回 nil
例 1:获取多个 field 的值

5. hgetall
语法:hgetall key
作用:获取哈希表 key 中所有的域和值
返回值:以列表形式返回 hash 中域和域的值,key 不存在,返回空 hash
例 1:返回 key 对应的所有域和值

例 2:不存在的 key,返回空列表

6. hdel
语法:hdel key field [field…]
作用:删除哈希表 key 中的一个或多个指定域 field,不存在 field 直接忽略
返回值:成功删除的 field 的数量
例 1:删除指定的 field

常用命令
1. hkeys
语法:hkeys key
作用:查看哈希表 key 中的所有 field 域
返回值:包含所有 field 的列表,key 不存在返回空列表
例 1:查看 website 所有的域名称

2. hvals
语法:hvals key
作用:返回哈希表中所有域的值
返回值:包含哈希表所有域值的列表,key 不存在返回空列表
例 1:显示 website 哈希表所有域的值

3. hexists
语法:hexists key field
作用:查看哈希表 key 中,给定域 field 是否存在
返回值:如果 field 存在,返回 1,其他返回 0
例 1:查看存在 key 中 field 域是否存在

如果想更深入的学习Redis,奉上Redis视频教程,视频学习效果更佳,走过路过别忘素质三连哦~~

