文章目录

  • 一、sinter 、sunion 、sdiff
    • 1.1、sinter 交集的示例
    • 1.2、sunion 并集的示例
    • 1.3、sdiff 差集的示例
  • 二、sinterstore、sunionstore、sdiffstore
    • 2.1、sinterstore 交集的示例
    • 2.2、sunionstore 并集的示例
    • 2.3、sdiffstore 差集的示例

一、sinter 、sunion 、sdiff

redis 支持 Set集合的数据存储,其中有三个比较特殊的方法:

  • sinter key [key …] 查看一个集合的全部成员,该集合是所有给定集合的交集。
  • sunion key [key …] 查看一个集合的全部成员,该集合是所有给定集合的并集。
  • sdiff key [key …] 查看所有给定 key 与第一个 key 的差集

1.1、sinter 交集的示例

redis> SMEMBERS group_1
1) "LI LEI"
2) "TOM"
3) "JACK"redis> SMEMBERS group_2
1) "HAN MEIMEI"
2) "JACK"redis> SINTER group_1 group_2      # 取的是交集的数据
1) "JACK"

1.2、sunion 并集的示例

redis> SMEMBERS songs
1) "Billie Jean"redis> SMEMBERS my_songs
1) "Believe Me"redis> SUNION songs my_songs       # 取的是集合的并集数据
1) "Billie Jean"
2) "Believe Me"

1.3、sdiff 差集的示例

redis> SMEMBERS peter_movies
1) "bet man"
2) "start war"
3) "2012"redis> SMEMBERS joe_movies
1) "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 songs
1) "good bye joe"
2) "hello,peter"redis> SMEMBERS my_songs
1) "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 NoSQL
1) "MongoDB"
2) "Redis"redis> SMEMBERS SQL
1) "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_movies
1) "hi, lady"
2) "Fast Five"
3) "2012"redis> SMEMBERS peter_movies
1) "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 交集、并集、差集相关推荐

  1. Redis 交集并集差集

    介绍 交集:在所有集合中出现过至少两次的元素 并集:将多个集合的元素合并到一起,并去掉重复元素 差集:在第一个集合中存在,在其他集合中都不存在的元素 相关命令 命令 说明 sinter key [ke ...

  2. lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...

    采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...

  3. java实现交集并集差集

    java实现交集并集差集 ***`package 第一次模拟测试; import java.util.ArrayList; import java.util.HashSet; import java. ...

  4. oracle 并集 时间_Oracle集合运算符 交集 并集 差集

    集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含'A'或含有'M' SQL> ...

  5. 采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集

    采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...

  6. go自定义和使用set包处理列表 交集 并集 差集

    自定义交集 并集 差集 package mainimport "fmt"func main() {aList := []string{"1", "2& ...

  7. MySQL求交集 并集 差集

    MySQL求交集 并集 差集 交集 两个表之间相同的 并集 两个表之间的总和 ps: union 自带去重 差集 两个表直接的差值

  8. oracle表交集并集,oracle交集,并集,差集

    oracle交集,并集,差集 [sql] create table test1 ( name varchar(10), NN varchar(10) ); insert into test1 valu ...

  9. sort求交集并集差集

    uniq -u    取出只出现过一次的元素,用来求差集 uniq -c     group by uniq -d     取出出现次数大于等于2的元素,用来求交集 sort 1 2 和cat 1 2 ...

  10. JAVA Hashset求集合的交集并集差集

    JAVA Hashset求集合的交集并集差集 Hashset是Set接口较为常见的一个子类,该子类的最大特点是不允许保存重复的元素,并且所有的内容都采用散列(无序)的方式进行存储. package c ...

最新文章

  1. 算法---------简化路径(Java版本)
  2. python做excel自动化可视化-简直出神入化,教你用Python控制Excel实现自动化办公...
  3. 【STM32】ESP8266模块简介
  4. 洛谷 P3381 【模板】最小费用最大流
  5. 老司机做VR视频,需要什么样的全景相机?
  6. java 方法重载的作业_java第六章 方法及方法重载 课堂笔记、作业
  7. cnn stride and padding_彻底搞懂CNN中的卷积和反卷积
  8. AI+大数据顶级技术盛会倒计时10天,6.6折票限时特惠!
  9. MySQL数据库使某个不是主键的字段唯一
  10. centos7下安装yasm过程
  11. 平面方程、两平面的夹角、空间点到平面的距离公式
  12. 软考高级信息系统项目管理师经验分享
  13. 将一颗树反转为其镜像
  14. xshell-xftp
  15. java计算抛物线的标准方程_抛物线方程公式大全_抛物线的四种标准方程_抛物线公式_抛物线方程及图像_高中数学知识点总结网...
  16. 软件工程 -- 程序流程图
  17. python实现pdf文件合并,多个pdf文件合并,pdf文件叠加
  18. mysql根据分隔符将一行数据拆分成多行数据
  19. Java(正,反)序列化
  20. 【python】纸箱抽奖

热门文章

  1. 多线程—如何下载网图
  2. 计算机二级office题库有多少道,计算机二级MS Office题库(600道).docx
  3. Axon框架使用指南(二):入门
  4. Git详解之四 服务器上的Git
  5. 云教室桌面虚拟化环境搭建——flexVDI Dashboard 3.0 云桌面管理系统的使用
  6. keystore导出p12,cer,crt,.key.pem证书文件格式
  7. 业内人士真心话:只会测试没有前途的,我慌了....
  8. 干货 | 人工智能如何帮助银行反欺诈:来看看关于银行智能欺诈风险预测模型的研究
  9. ie6 兼容整理《一》
  10. flex-direction的默认值