Redis学习-3:Redis中的五种数据结构
2017-11-07 10:54
309 查看
redis可以存储键与5种不同数据结构类型之间的映射,这五种数据结构分别为String(字符串),List(列表),Set(集合),HASH(散列)和ZSET(有序集合).有一部分Redis命令只能对特定的一种或两种结构使用。
Redis中的字符串
下图以键为hello、值为world的字符串为例,分别标记了方框的各个部分.
字符串拥有一些和其他键值存储相似的命令,比如说GET(获得),SET(设置)和DEL(删除值)
具体步骤
1:先set一个key为hello值为world的值
之后我们用RedisClient查看数据库中数据的属性
之后我们get hello,控制台会把key为hello的"world"给输出过来
然后我们删除key为hello的值,响应行数为1行
之后我们再尝试获取一下,redis返回nil(没有查到)
Redis中的列表
Redis对链表结构的支持使得它在键值存储的世界中独树一帜。一个列表结构可以有序得存储多个字符串,和表示字符串时使用的方法一样。
Redis列表的操作:
RPUSH:将给定值推入列表的右端
LPUSH:将给定值推入列表的左端
LRANGE:获取列表在给定范围上的所有值
LINDEX:获取列表在给定位置上的单个元素
LPOP:从列表左端弹出一个值,并返回被弹出的值
RPOP:从列表右端弹出一个值,并返回被弹出的值
事例:
Redis中的集合
Redis的集合和列表都可以存储多个字符串,他们之间的不同在于,列表可以存储多个相同的字符串,而集合通过使用散列表来保证自己存储的每个字符串都是各有不同的(这些散列表只有键,但没有与键相关的值)。
因为Redis的集合使用无序方式存储元素,所以用户不能像使用列表那样,将元素推入集合的某一段或者从集合的某一端弹出元素,不过用户可以使用SADD命令将元素添加到集合,或者使用SREM命令从集合里面移除元素、另外还可以通过SISMEMBER命令快速得检查一个元素是否已经存在于集合中,或者使用SMEMBERS命令获取集合包含的所有元素.
案例:
命令列表
Redis中的散列
Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串又可以是数字只,并且用户哦他那个样可以对散列存储的数字值执行自增操作或者自减操作。
散列的命令:
事例:
Redis中的有序集合
有序集合和散列一样,都是用于存储键值对:有序集合的键被称为成员,每个成员(Member)都是各不相同的;而有序集合的值则被称为分值(SCORE),分值必须是浮点数。有序集合是Redis里面唯一一个既可以根据成员访问元素,又可以根据分值访问元素,又可以根据分值以及分值的排列顺序访问元素的结构。
分值(score)必须是数字!
memeber成员必须是不同的!
有序集合命令:
事例
Redis中的字符串
下图以键为hello、值为world的字符串为例,分别标记了方框的各个部分.
字符串拥有一些和其他键值存储相似的命令,比如说GET(获得),SET(设置)和DEL(删除值)
具体步骤
1:先set一个key为hello值为world的值
之后我们用RedisClient查看数据库中数据的属性
之后我们get hello,控制台会把key为hello的"world"给输出过来
然后我们删除key为hello的值,响应行数为1行
之后我们再尝试获取一下,redis返回nil(没有查到)
Redis中的列表
Redis对链表结构的支持使得它在键值存储的世界中独树一帜。一个列表结构可以有序得存储多个字符串,和表示字符串时使用的方法一样。
Redis列表的操作:
RPUSH:将给定值推入列表的右端
LPUSH:将给定值推入列表的左端
LRANGE:获取列表在给定范围上的所有值
LINDEX:获取列表在给定位置上的单个元素
LPOP:从列表左端弹出一个值,并返回被弹出的值
RPOP:从列表右端弹出一个值,并返回被弹出的值
事例:
Redis中的集合
Redis的集合和列表都可以存储多个字符串,他们之间的不同在于,列表可以存储多个相同的字符串,而集合通过使用散列表来保证自己存储的每个字符串都是各有不同的(这些散列表只有键,但没有与键相关的值)。
因为Redis的集合使用无序方式存储元素,所以用户不能像使用列表那样,将元素推入集合的某一段或者从集合的某一端弹出元素,不过用户可以使用SADD命令将元素添加到集合,或者使用SREM命令从集合里面移除元素、另外还可以通过SISMEMBER命令快速得检查一个元素是否已经存在于集合中,或者使用SMEMBERS命令获取集合包含的所有元素.
案例:
命令列表
Redis中的散列
Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串又可以是数字只,并且用户哦他那个样可以对散列存储的数字值执行自增操作或者自减操作。
散列的命令:
事例:
Redis中的有序集合
有序集合和散列一样,都是用于存储键值对:有序集合的键被称为成员,每个成员(Member)都是各不相同的;而有序集合的值则被称为分值(SCORE),分值必须是浮点数。有序集合是Redis里面唯一一个既可以根据成员访问元素,又可以根据分值访问元素,又可以根据分值以及分值的排列顺序访问元素的结构。
分值(score)必须是数字!
memeber成员必须是不同的!
有序集合命令:
事例
相关文章推荐
- Redis学习笔记~Redis提供的五种数据结构
- redis五种数据结构原理学习解析
- Redis(1)---五种数据结构
- redis之五种数据结构的基本操作
- Redis数据结构与五种基本类型
- Redis提供的五种数据结构
- Redis学习(3)——数据结构
- redis的五种数据结构
- Redis学习笔记~Redis提供的五种数据结构
- Redis学习--存储的数据结构命令相关
- Redis数据结构详解,五种数据结构分分钟掌握
- Redis五种数据结构简介
- Redis的五种数据结构
- Redis学习笔记~Redis提供的五种数据结构
- Redis学习笔记~Redis提供的五种数据结构
- Redis系统学习 二、数据结构
- Redis学习笔记之入门基础知识——五种数据类型
- redis源码分析(八)、redis数据结构之压缩ziplist--------ziplist.c ziplist.h学习笔记
- redis之五种数据结构的高级操作
- Redis源码学习4-基本数据结构之字典