场景

Centos中Redis的下载编译与安装(超详细):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Redis的启动和关闭(前台启动和后台启动):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348

RedisDesktopManager客户端可视化工具下载安装与使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

set集合是string类型的无序集合,set是通过hashtable实现的,对集合我们可以取交集、并集、差集

SADD命令

语法

SADD key member [member ...]

将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

假如 key 不存在,则创建一个只包含 member 元素作成员的集合。

当 key 不是集合类型时,返回一个错误。

 

举例

Redis常用命令之操作Set(集合) Nosql 第1张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第2张

SMEMBERS命令

语法

SMEMBERS key

返回集合 key 中的所有成员。

不存在的 key 被视为空集合。

举例同上图

SREM命令

语法

SREM key member [member ...]

移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。

当 key 不是集合类型,返回一个错误。

举例

Redis常用命令之操作Set(集合) Nosql 第3张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第4张

SPOP命令

语法

SPOP key

移除并返回集合中的一个随机元素。

如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。

举例

Redis常用命令之操作Set(集合) Nosql 第5张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第6张

SDIFF命令

 

语法

SDIFF key [key ...]

差集运算,返回在第一个set 中存在,第二个set 中不存在的内容

举例

Redis常用命令之操作Set(集合) Nosql 第7张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第8张

SDIFFSTORE命令

语法

SDIFFSTORE destination key [key ...]

这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

如果 destination 集合已经存在,则将其覆盖。

destination 可以是 key 本身。

举例

Redis常用命令之操作Set(集合) Nosql 第9张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第10张

SINTER命令

语法

SINTER key [key ...]

返回一个集合的全部成员,该集合是所有给定集合的交集。

不存在的 key 被视为空集。

当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。

 

举例

Redis常用命令之操作Set(集合) Nosql 第11张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第12张

SUNION命令

语法

SUNION key [key ...]

返回一个集合的全部成员,该集合是所有给定集合的并集。

不存在的 key 被视为空集

举例

Redis常用命令之操作Set(集合) Nosql 第13张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第14张

SUNIONSTORE命令

语法

SUNIONSTORE destination key [key ...]

这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

如果 destination 已经存在,则将其覆盖。

destination 可以是 key 本身

举例

Redis常用命令之操作Set(集合) Nosql 第15张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第16张

SMOVE命令

语法

SMOVE source destination member

将 member 元素从 source 集合移动到 destination 集合。

SMOVE 是原子性操作。

如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。

当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。

当 source 或 destination 不是集合类型时,返回一个错误。

 

举例

Redis常用命令之操作Set(集合) Nosql 第17张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第18张

SCARD命令

语法

SCARD key

返回集合 key 的基数(集合中元素的数量)。

举例

Redis常用命令之操作Set(集合) Nosql 第19张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第20张

SISMEMBER命令

语法

SISMEMBER key member

判断 member 元素是否集合 key 的成员。

举例

Redis常用命令之操作Set(集合) Nosql 第21张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第22张

SRANDMEMBER命令

语法

SRANDMEMBER key [count]

如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。

从 Redis 2.6 版本开始, SRANDMEMBER 命令接受可选的 count 参数:

如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。

举例

Redis常用命令之操作Set(集合) Nosql 第23张

 

 

 

Redis常用命令之操作Set(集合) Nosql 第24张

其他命令参考:

http://doc.redisfans.com/set/index.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄