redis 交集、并集、差集的具体使用
一、sinter、sunion、sdiff
redis支持Set集合的数据存储,其中有三个比较特殊的方法:
- sinterkey[key…]查看一个集合的全部成员,该集合是所有给定集合的交集。
- sunionkey[key…]查看一个集合的全部成员,该集合是所有给定集合的并集。
- sdiffkey[key…]查看所有给定key与第一个key的差集
1.1、sinter交集的示例
redis>SMEMBERSgroup_1 1)"LILEI" 2)"TOM" 3)"JACK" redis>SMEMBERSgroup_2 1)"HANMEIMEI" 2)"JACK" redis>SINTERgroup_1group_2#取的是交集的数据 1)"JACK"
1.2、sunion并集的示例
redis>SMEMBERSsongs 1)"BillieJean" redis>SMEMBERSmy_songs 1)"BelieveMe" redis>SUNIONsongsmy_songs#取的是集合的并集数据据 1)"BillieJean" 2)"BelieveMe"
1.3、sdiff差集的示例
redis>SMEMBERSpeter_movies 1)"betman" 2)"startwar" 3)"2012" redis>SMEMBERSjoe_movies 1)"hi,lady" 2)"FastFive" 3)"2012" redis>SDIFFpeter_moviesjoe_movies#取的是两个集合的差集的数据 1)"betman" 2)"startwar"
二、sinterstore、sunionstore、sdiffstore
- sinterstoredestinationkey[key…]将交集数据存储到某个对象中
- sunionstoredestinationkey[key…]将并集数据存储到某个对象中
- sdiffstoredestinationkey[key…]将差集数据存储到某个对象中
2.1、sinterstore交集的示例
redis>SMEMBERSsongs 1)"goodbyejoe" 2)"hello,peter" redis>SMEMBERSmy_songs 1)"goodbyejoe" 2)"falling" redis>SINTERSTOREsong_intersetsongsmy_songs#将交集的数据存储到song_interset对象中 (integer)1 redis>SMEMBERSsong_interset#查看song_interset对象中的所有数据 1)"goodbyejoe"
2.2、sunionstore并集的示例
redis>SMEMBERSNoSQL 1)"MongoDB" 2)"Redis" redis>SMEMBERSSQL 1)"sqlite" 2)"MySQL" redis>SUNIONSTOREdbNoSQLSQL#将并集的数据存储到db对象中 (integer)4 redis>SMEMBERSdb#查看db对象中的所有数据 1)"MySQL" 2)"sqlite" 3)"MongoDB" 4)"Redis"
2.3、sdiffstore差集的示例
redis>SMEMBERSjoe_movies 1)"hi,lady" 2)"FastFive" 3)"2012" redis>SMEMBERSpeter_movies 1)"betman" 2)"startwar" 3)"2012" redis>SDIFFSTOREjoe_diff_peterjoe_moviespeter_movies#将差集的数据存储到joe_diff_peter对象中 (integer)2 redis>SMEMBERSjoe_diff_peter#查看joe_diff_peter对象中的所有数据 1)"hi,lady" 2)"FastFive"
到此这篇关于redis交集、并集、差集的具体使用的文章就介绍到这了,更多相关redis交集、并集、差集内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。