Redis系列(二):Redis的5种数据结构及其常用命令 (2)

功能:从source-key列表中弹出最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这 个元素,如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现

以下是这些命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

3. 集合Set

Redis的集合以无序的方式来存储多个各不相同的元素。

与上面提到的列表相比,Redis中的集合主要有以下2个特性:

无序地存储多个字符串

集合里面的元素是不可以重复的

经常使用的集合命令主要分为以下3种类型:

常用命令

元素移动命令

差集/交集/并集命令

接下来,我们一一讲解。

3.1 常用命令

常用命令主要有:SADD、SMEMBERS、SISMEMBER、SREM、SCARD。

以上命令的功能描述如下所示:

命令 语法 功能
SADD   SADD keyname item [item ...]   将一个或多个元素添加到集合  
SMEMBERS   SMEMBERS keyname   返回集合包含的所有元素  
SISMEMBER   SISMEMBER keyname item   检查元素item是否存在于集合keyname中  
SREM   SREM keyname item [item ...]   从集合里删除一个或多个元素  
SCARD   SCARD keyname   返回集合包含元素的数量  

以下是这些命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

Redis系列(二):Redis的5种数据结构及其常用命令

3.2 元素移动命令

元素移动命令主要有:SMOVE。

以上命令的功能描述如下所示:

语法:SMOVE sourcekey destkey item

功能:将集合sourcekey中的元素item移除,并将元素item添加到集合destkey中

​ 如果item被成功移除,返回1,否则返回0

以下是SMOVE命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

3.3 差集/交集/并集命令

交集/并集/差集命令主要有:SDIFF、SDIFFSTORE、SINTER、SINTERSTORE、SUNION、SUNIONSTORE。

以上命令的功能描述如下所示:

命令 语法 功能
SDIFF   SDIFF keyname [key-name ...]   返回存在于第1个集合,不存在于其他集合的元素(差集运算)  
SDIFFSTORE   SDIFFSTORE destkey keyname [key-name ...]   将存在于第1个集合,不存在于其他集合的元素(差集运算)存储到destkey集合  
SINTER   SINTER keyname [key-name ...]   返回同时存在于所有集合中的元素(交集运算)  
SINTERSTORE   SINTERSTORE destkey keyname [key-name ...]   将同时存在于所有集合中的元素(交集运算)存储到destkey集合  
SUNION   SUNION keyname [key-name ...]   返回至少存在于一个集合中的元素(并集运算)  
SUNIONSTORE   SUNIONSTORE destkey keyname [key-name ...]   将至少存在于一个集合中的元素(并集运算)存储到destkey集合  

以下是这些命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

4. 散列Hash

关于数据结构Hash,有些书籍叫做散列,有些书籍叫做哈希,本文中使用名称:散列。

Redis的散列可以存储多个键值对之间的映射,即可以让用户将多个键值对存储到一个Redis键里面,如下所示:

Redis系列(二):Redis的5种数据结构及其常用命令

接下来,我们了解下经常使用的散列命令。

4.1 添加键值对

往散列里添加键值对有2个命令,分别是HSET、HMSET,其中HSET一次只能添加1个键值对,而HMSET一次可以添加多个键值对。

以下是这2个命令的使用示例:

此时的hash-key包含3个键值对,如下所示:

Redis系列(二):Redis的5种数据结构及其常用命令

4.2 获取键值对

获取散列里键值对有以下5个命令:

HGET 从散列里获取指定键的值

HMGET 从散列里获取一个或多个键的值

HKEYS 获取散列包含的所有键

HVALS 获取散列包含的所有值

HGETALL 获取散列包含的所有键值对

以下是这5个命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

4.3 获取键值对数量

可以通过HLEN命令来获取散列包含的键值对数量。

以下是HLEN命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

4.4 判断键是否存在

可以通过HEXISTS命令来检查某个键是否存在于散列中。

以下是HEXISTS命令的使用示例:

Redis系列(二):Redis的5种数据结构及其常用命令

4.5 自增/自减

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsdpy.html