redis 交集、并集、差集
sinter 、sunion 、sdiff
redis 支持 Set集合的数据存储,其中有三个比较特殊的方法:
sinter key [key …] 返回一个集合的全部成员,该集合是所有给定集合的交集。
sunion key [key …] 返回一个集合的全部成员,该集合是所有给定集合的并集。
sdiff key [key …] 返回所有给定 key 与第一个 key 的差集
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"
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"
sdiff 代码示例
redis> SMEMBERS peter's_movies
1) "bet man"
2) "start war"
3) "2012" redis> SMEMBERS joe's_movies
1) "hi, lady"
2) "Fast Five"
3) "2012" redis> SDIFF peter's_movies joe's_movies # 取的是两个集合的差集的数据
1) "bet man"
sinterstore、sunionstore、sdiffstore
sinterstore destination key [key …] 将 交集 数据存储到某个对象中
sunionstore destination key [key …] 将 并集 数据存储到某个对象中
sdiffstore destination key [key …] 将 差集 数据存储到某个对象中
sinterstore 代码示例
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) 1 redis> SMEMBERS song_interset # 返回 song_interset 对象中的 所有数据
1) "good bye joe"
sunionstore 代码示例
redis> SMEMBERS NoSQL
1) "MongoDB"
2) "Redis" redis> SMEMBERS SQL
1) "sqlite"
2) "MySQL" redis> SUNIONSTORE db NoSQL SQL # 将并集的数据存储到 db 对象中
(integer) 4 redis> SMEMBERS db # 返回 db 对象中的 所有数据
1) "MySQL"
2) "sqlite"
3) "MongoDB"
4) "Redis"
sdiffstore 代码示例
redis> SMEMBERS joe's_movies
1) "hi, lady"
2) "Fast Five"
3) "2012" redis> SMEMBERS peter's_movies
1) "bet man"
2) "start war"
3) "2012" redis> SDIFFSTORE joe_diff_peter joe's_movies peter's_movies # 将差集的数据存储到 joe_diff_peter 对象中
(integer) 2 redis> SMEMBERS joe_diff_peter # 返回 joe_diff_peter 对象中的 所有数据
1) "hi, lady"
2) "Fast Five"
redis 交集、并集、差集的更多相关文章
- (java/javascript) list 交集 并集 差集 去重复并集
java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...
- Python 求两个文本文件以行为单位的交集 并集 差集
Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...
- 如何求ArrayList集合的交集 并集 差集 去重复并集
需要用到List接口中定义的几个方法: addAll(Collection<? extends E> c) :按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾 ...
- spark之交集并集差集拉链
spark之交集并集差集拉链 def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setMaster(&qu ...
- java 两个list 交集 并集 差集 去重复并集
前提需要明白List是引用类型,引用类型采用引用传递. 我们经常会遇到一些需求求集合的交集.差集.并集.例如下面两个集合: List<String> list1 = new ArrayLi ...
- java list 交集 并集 差集 去重复并集
package com; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public clas ...
- js Array 交集 并集 差集 去重
最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上,网上的实现方式都是2次循环,性能不适合我的需求,1000*1000那循环次数太多了,所以我这里采用对象object来 ...
- Oracle集合运算符 交集 并集 差集
集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含’A‘或含有‘M’ SQL&g ...
- SQL求 交集 并集 差集
故事是这样的….. 故事情节: 表 tb_test 有两列, colA , colB; 求 colA , colB 的并交差集… -- 计算并集 SELECT DISTINCT colB FROM t ...
- oracle交集,并集,差集
引自:http://www.2cto.com/database/201308/238777.html [sql] create table test1 ( name ), NN ) ); insert ...
随机推荐
- ubuntu下如何安装hg(mercurial)?
答: sudo apt-get install mercurial
- Qt编写自定义控件26-平铺背景控件
一.前言 平铺背景控件,主要的应用场景是作为画布出现,黑白相间的背景图,然后上面可以放置图片图形等,使得看起来更美观,比如PS软件新建图层以后的背景,FireWorks软件新建画布以后的透明背景,IC ...
- Spring Aop(四)——基于Aspectj注解的Advice介绍
转发地址:https://www.iteye.com/blog/elim-2395315 4 基于Aspectj注解的Advice介绍 之前介绍过,Advice一共有五种类型,分别是before.af ...
- web框架之socket
概述 套接字最初是为同一主机上的应用程序所创建,使得主机上运行的一个程序(又名一个进程)与另一个运行的程序进行通信.这就是所谓的进程间通信 ( Inter Process Communication, ...
- 关于LuckyE博客的前言
第一次开始尝试怎么写博客,也不知道写点什么好...... 开始写博客的原因其实很多,主要原因是因为最近考出cisp-pte证书,然后前几天电话面试某比较有名的安全公司(x盟)的渗透测试工程师实习生被撸 ...
- pytest.mark.parametrize()参数化的应用一
from page.LoginPage import Loginpage import os, sys, pytest base_dir = os.path.dirname(os.path.dirna ...
- Java学习笔记-流程控制
在Java中,最常见的就是顺序结构,另外,还有其他的一些的结构,选择,循环等,这些程序结构的加入,使得程序代码更有选择性 判断结构 if语句 三种格式: if(条件表达式) { 执行语句; } if( ...
- $.ajax 中的contentType类型
参考链接:https://www.jianshu.com/p/f4d92b3d387d
- Guava源码阅读-base-Enums
package com.google.common.base; guava源码中对这个类的方法介绍只有一句话: Utility methods for working with {@link Enum ...
- 冲刺Noip2017模拟赛5 解题报告——五十岚芒果酱
1. 公约数(gcd) [问题描述] 给定一个正整数,在[,n]的范围内,求出有多少个无序数对(a,b)满足 gcd(a,b)=a xor b. [输入格式] 输入共一行,一个正整数n. [输出格式] ...