Redis 数据结构简介
概述
Redis 下可以存储五种不同数据结构类型之间的映射。
这五种数据类型非别为:
1. STRING 字符串
可以是字符串,整数或浮点数。
2. LIST 列表
一个链表,链表上的每个节点都包含一个字符串。
3. SET 集合
包含字符串的无序收集器,每个字符串都是唯一的。
4. HASH 散列
包含键值的无序散列表 。
5. ZSET 有序集合
字符串成员与浮点数分值之间的有序映射。
STRING 字符串
命令 | 行为 |
---|---|
GET | 获取存储在给定键中的值 |
SET | 设置存储在给定键中的值 |
DEL | 删除存储在给定键中的值 |
我们以键 string,值为 hello 的字符串为例
LIST 列表
一个列表结构可以有序地存储多个字符串。(这个有序的意思是出入的有序,而不是大小的有序)
命令 | 行为 |
---|---|
RPUSH/LPUSH | 将给定值推入列表的右端/左端 |
RPOP/LPOP | 从列表的右端/左端弹出一个值,并返回被弹出的值 |
LINDEX | 获取列表在给定位置的上的单个元素 |
LRANGE | 获取列表在给定范围上的所有值 |
SET 集合
前面的列表可以存储多个相同的字符串 ,而集合则通过使用散列表来保证存储的每个字符串都是各不相同的 (这些散列只有键,没有与键相关的值)
命令 | 行为 |
---|---|
SADD | 将给定元素添加到集合中 |
SMEMBERS | 返回集合包含的所有元素 |
SISMEMBER | 检查给定元素是否在集合中 |
SREM | 如果给定的元素存在于集合中,则移除 |
HASH 散列
散列可以存储多个键值对之间的映射,存储的值既可以是字符串也可以是数字值。
并可以对散列存储数字值执行自增操作或自减操作。
散列中的键必须是唯一的。
|命令|行为|
|HSET|在散列中添加给定的键值对|
|HGET|获取指定散列键的值|
|HGETALL|获取 散列中所有的键值对|
|HDEL|如果给定的键存在,则移除|
ZSET 有序集合
有序集合和散列一样,也是用于存储键值对。
但是有序集合的每个成员都是各不相同的,并且有序集合的值被称为分值,分值必须为浮点数。
特点:有序集合不仅可以根据成员访问元素,也可以根据分值以及分值的排列顺序来访问元素。
|ZADD|将一个带有给定分值的成员添加到有序集合中|
|ZRANGE|根据元素在有序排列中所处的位置,从有序集合里面获取多个元素|
|ZRANGEBYSCORE|获取有序集合在给定分值范围内的所有元素|
|ZREM|如果给定成员存在,则移除|
现在对于Redis 下的五种基本数据接结构已经有了基本的了解。