这期内容当中小编将会给大家带来有关如何在redis中使用交集、并集和差集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、sinter 、sunion 、sdiff
redis 支持 Set集合的数据存储,其中有三个比较特殊的方法:
sinter key [key …] 查看一个集合的全部成员,该集合是所有给定集合的交集。
sunion key [key …] 查看一个集合的全部成员,该集合是所有给定集合的并集。
sdiff key [key …] 查看所有给定 key 与第一个 key 的差集
1.1、sinter 交集的示例
redis> SMEMBERS group_11) "LI LEI"2) "TOM"3) "JACK"redis> SMEMBERS group_21) "HAN MEIMEI"2) "JACK"redis> SINTER group_1 group_2 # 取的是交集的数据 1) "JACK"
1.2、sunion 并集的示例
redis> SMEMBERS songs1) "Billie Jean"redis> SMEMBERS my_songs1) "Believe Me"redis> SUNION songs my_songs # 取的是集合的并集数据据1) "Billie Jean"2) "Believe Me"
1.3、sdiff 差集的示例
redis> SMEMBERS peter_movies1) "bet man"2) "start war"3) "2012"redis> SMEMBERS joe_movies1) "hi, lady"2) "Fast Five"3) "2012"redis> SDIFF peter_movies joe_movies # 取的是两个集合的差集的数据1) "bet man"2) "start war"
二、sinterstore、sunionstore、sdiffstore
sinterstore destination key [key …] 将 交集 数据存储到某个对象中
sunionstore destination key [key …] 将 并集 数据存储到某个对象中
sdiffstore destination key [key …] 将 差集 数据存储到某个对象中
2.1、sinterstore 交集的示例
redis> SMEMBERS songs1) "good bye joe"2) "hello,peter"redis> SMEMBERS my_songs1) "good bye joe"2) "falling"redis> SINTERSTORE song_interset songs my_songs # 将交集的数据存储到 song_interset 对象中(integer) 1redis> SMEMBERS song_interset # 查看 song_interset 对象中的 所有数据1) "good bye joe"
2.2、sunionstore 并集的示例
redis> SMEMBERS NoSQL1) "MongoDB"2) "Redis"redis> SMEMBERS SQL1) "sqlite"2) "MySQL"redis> SUNIONSTORE db NoSQL SQL # 将并集的数据存储到 db 对象中(integer) 4redis> SMEMBERS db # 查看 db 对象中的 所有数据1) "MySQL"2) "sqlite"3) "MongoDB"4) "Redis"
2.3、sdiffstore 差集的示例
redis> SMEMBERS joe_movies1) "hi, lady"2) "Fast Five"3) "2012"redis> SMEMBERS peter_movies1) "bet man"2) "start war"3) "2012"redis> SDIFFSTORE joe_diff_peter joe_movies peter_movies # 将差集的数据存储到 joe_diff_peter 对象中(integer) 2redis> SMEMBERS joe_diff_peter # 查看 joe_diff_peter 对象中的 所有数据1) "hi, lady"2) "Fast Five"
上述就是小编为大家分享的如何在redis中使用交集、并集和差集了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。