有序集合的交、并操作 指令格式 # 将numkey个集合 的交集保存到destination 中,合并之后的新集合中,score值被相加 zinterstore destination numkey key...60 aa 70 bb 90 cc # 添加数据到s3中 zadd s3 70 aa 70 bb 100 cc 将以上是那个集合的交集保存到 ss 中 # 求s1、s2、s3的交集 保存到 ss 中 zinterstore...我们还可以指定交叉的元素 取最大值(max)还是 最小值(min),而不是 求和值(sum),如下指令 # 求 s1、s2、s3 的交集保存到 ss1 中,取交叉元素的最大值 zinterstore ss1...3 s1 s2 s3 aggregate max # 求 s1、s2、s3 的交集保存到 ss2 中,取交叉元素的最小值 zinterstore ss2 3 s1 s2 s3 aggregate min
本次操作删除的元素个数 ZINCRBY 为指定的元素的关联分数添加指定的分数值 语法: ZINCRBY key increment member 时间复杂度: O(logN) 返回值:增加后元素的分数 集合间操作 ZINTERSTORE...求交集,结果保存到另一个 key 中 语法: ZINTERSTORE destination numkeys key [key ...]
ZINTERSTORE destination numkeys key [key ...]...``[WEIGHTS weight] [SUM\|MIN\|MAX] | 计算给定的numkeys个有序集合的并集,并且把结果放到destination中 | ZINTERSTORE命令 计算给定的numkeys...ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]...zInterStoreKey1 zInterStoreKey2 WEIGHTS 2 3 ZRANGE zInterStoreSumResult 0 -1 WITHSCORES 执行结果如下 [zinterstore...raw=true] 下面是java代码 @Test public void zInterStore() { zSetOperations.add("zInterStoreKey1", "one
ZINTERSTORE 最早可用版本:2.0.0 时间复杂度:O(N * K)+O(M * log(M)),N是输入的zset中的最小的成员数量,K为输入的zset的数量。...M是结果中zset的成员数量 用法:ZINTERSTORE destination numkeys key [key …][WEIGHTS weight [weight …]][AGGREGATE SUM...|MIN|MAX] ZINTERSTORE命令用于计算给出的numkeys个zset的交集,并将结果保存到destination中。...ZADD myzset2 2 "zhe" (integer) 1 127.0.0.1:6379> ZADD myzset2 3 "2018" (integer) 1 127.0.0.1:6379> ZINTERSTORE...关于WEIGHTS和AGGREGATE参数,可以查看ZINTERSTORE命令中的介绍。
Mike 43 Hebe 77 Wawa (integer) 4 # (1) 交集 # 对集合user1和user2做交集,结果保存到user_inter1集合中 # 数字2的意思做交集的集合的个数,zinterstore...user_inter_tmp n user1 user2 ... usern beh07:6379> zinterstore user_inter1 2 user1 user2 (integer)...user_inter1 0 -1 withscores 1) "Wawa" 2) "133" 3) "Hebe" 4) "142" 5) "Mike" 6) "170" # 指定权重,默认为1 beh07:6379> zinterstore...0 -1 withscores 1) "Wawa" 2) "56" 3) "Mike" 4) "88" 5) "Hebe" 6) "99" # (2) 并集 # zunionstore的参数用法与zinterstore
•ZINTERSTORE命令还能够通过WEIGHTS参数设置每个集合的权重,每个集合在参与计算时元素的分数会被乘上该集合的权重。...ZINTERSTORE destination numkeys key [key ...]
zrevrank key member zrebrank 命令则正好相反,分数最大的元素排名为0 ---- 计算有序集合的交集 zinterstore...numkeys key [ key ... ] [ weights weight [ weight ... ] ] [ aggregate SUM | MIN | MAX ] zinterstore...键中元素的分数是参与计算的集合中该元素分数最小值 3.当 aggregate 是 MAX 是,destination 键中元素的分数是参与计算的集合中该元素分数最大值 zinterstore...参数设置每个集合的权重,每个集合在参与计算时元素的分数会被乘上该集合的权重 ---- 计算集合间的并集 zunionstore 用法与 zinterstore
"zRemKey", "one"); System.out.println(zSetOperations.range("zRemKey", 0 , -1)); } 交并集 命令 用例 描述 ZINTERSTORE...ZINTERSTORE destination numkeys key [key ...]...``[WEIGHTS weight] [SUM\|MIN\|MAX] 计算给定的numkeys个有序集合的并集,并且把结果放到destination中 ZINTERSTORE命令 计算给定的numkeys...ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]...下面是java代码 @Test public void zInterStore() { zSetOperations.add("zInterStoreKey1", "one", 1);
ZINTERSTORE destination numkeys key1 [key2 ...] [WEIGHTS weight1 [weight2 ...]]...[AGGREGATE SUM|MIN|MAX]: ZADD scores1 100 "Alice" 80 "Bob" ZADD scores2 90 "Alice" 70 "Charlie" ZINTERSTORE
1.zinterstore-交集 取这俩集合的交集,就可以完成上面的需求。 zinterstore 可以计算多个有序集合的交集(无序集合的score为0),并生成新的有序集合。...ZINTERSTORE destination numkeys key [key ...]...zinterstore article:score:1 2 article:type:1 article:score aggregate max 计算上面两个集合的交集,以取最大值的方式聚合。
该命令的作用是:将两个或多个 zset 求交集,命令格式如下: ZINTERSTORE destination numkeys key [key ...]...200 bb 300 cc (integer) 3 127.0.0.1:6379> zadd k2 100 aa 200 cc 300 dd (integer) 3 127.0.0.1:6379> zinterstore...3) "cc" 4) "500" 求 k1 和 k2 的交集 k4,观察 k4 中成员的分数,这次使用参数 weights,该参数表示对应集合的权重 127.0.0.1:6379> zinterstore...* 2 + k2(aa) * 3 = 100 * 2 + 100 * 3 = 500 最后一个参数 aggregate 表示交集的聚合方式: 相加的聚合方式:sum 127.0.0.1:6379> zinterstore...[WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] 该命令的使用方式与 zinterstore 的方式相同,只是最后计算的是并集不是交集,这里不再进行演示。
member 返回值 > ZINCRBY zsets1 12 php "14" 查询(ZCARD、ZCOUNT、ZLEXCOUNT、ZRANGE、ZRANGEBYSCORE、ZREVRANK、ZSCORE、ZINTERSTORE...4) "python" 5) "ruby" 6) "c" 7) "c++" 8) "a" > ZRANK zsets4 c (integer) 5 一个或多个有序集的交集并将结果集存储在新的有序集(ZINTERSTORE...) # destination 新的集合 numkeys 合并集合数 ZINTERSTORE destination numkeys key [key ...]...[WEIGHTS weight] 返回值 > zadd zsets2 1 c++ 2 py 3 ruby (integer) 2 > ZINTERSTORE zsets3 2 zsets1 zsets2
---- 二、集合间操作 1.交集 zinterstore destination numkeys key [key ...]...[WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] 因为zinterstore命令参数比较多,所以下面我们详细了解一下: destination:将交集的计算结果,保存到这个键中...zunionstore命令的相关参数和zinterstore命令相同。 ---- 时间复杂度 下面我们了解一下上述命令的时间复杂度。 ? ?
zinterstore:交集。参数如下: destination:交集计算结果保存到这个键 numkeys:需要做交集计算键的个数 key[key...]...member会将自己分数乘以这个权重,每个键的权重默认是1 aggregate sum|min|max:计算成员交集后,分值可以按照sum(和)、 min(最小值)、max(最大值)做汇总,默认值是sum zinterstore...该命令的所有参数和zinterstore是一致的,只不过是做并集计算 zunionstore destination numkeys key [key ...]...O(log(m)+k),k是要删除的成员个数,”是当前有序集合成员个数 zremrangebyscore key min max O(log(n)+k),k是要删除的成员个数,是当前有序集合成员个数 zinterstore
inf);字典排序(+、-); 2.1、ZSet增加与统计 【核心命令】 增加【ZADD、ZINCRBY】; 统计数量【ZCARD、ZCOUNT、ZLEXCOUNT】; 集合运算【ZUNIONSTORE、ZINTERSTORE...; 【ZINCRBY】increment避免使用浮点数,结果易出错; 【ZCARD、ZCOUNT、ZLEXCOUNT】统计集合(所有、指定分数区间、指定元素区间)元素个数; 【ZUNIONSTORE、ZINTERSTORE...member ZCARD 统计有序集合的元素个数 key ZCOUNT 统计指定【score区间】的元素个数 key min max ZLEXCOUNT 统计指定【元素区间】的元素个数 key min max ZINTERSTORE
); System.out.println("zrange:keyC中的所有值 " + jedisCluster.zrange(keyC, 0, -1)); System.out.println("zinterstore...:交集 keyC 与 keyA,KeyB" + jedisCluster.zinterstore(keyC, keyA, keyB)); System.out.println("zinterstore:...交集 keyC 与 keyA" + jedisCluster.zinterstore(keyC, keyA)); System.out.println("zinterstore:交集 keyC 与 keyA..." + jedisCluster.zinterstore(keyC, keyB)); System.out.println("zrange: keyC中的值" + jedisCluster.zrange...:交集 keyC 与 keyA,KeyB1 zinterstore:交集 keyC 与 keyA1 zinterstore:交集 keyC 与 keyA3 zrange: keyC中的值[c, d, b
成员的有序集合: 127.0.0.1:6379> ZINCRBY k1 3 v1 "63" 127.0.0.1:6379> ZRANGE k1 0 0 withscores 1) "v1" 2) "63" ZINTERSTORE...ZINTERSTORE命令可以计算给定的numkeys个有序集合的交集,并且把结果放到destination中。...127.0.0.1:6379> ZADD k3 10 v3 (integer) 1 127.0.0.1:6379> ZADD k3 11 v4 (integer) 1 127.0.0.1:6379> ZINTERSTORE...integer) 2 127.0.0.1:6379> ZRANGE k4 0 -1 withscores 1) "v2" 2) "12" 3) "v3" 4) "14" 127.0.0.1:6379> ZINTERSTORE
集合间操作 ZINTERSTORE 求出给定有序集合中元素的交集并保存进目标有序集合中,在合并过程中以元素为单位进行合并,元素对应的分数按照不同的聚合方式和权重得到新的分数。...语法: ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]...[AGGREGATE ] 功能: ZINTERSTORE 用于计算多个有序集合的交集,并将结果存储到目标有序集合中。...110 数学 100 政治 90 历史 5 127.0.0.1:6379> zadd key2 120 英语 100 语文 140 数学 90 物理 100 化学 5 127.0.0.1:6379> zinterstore...key5 2 key1 key2 aggregate max 3 127.0.0.1:6379> zrange key5 0 -1 withscores 语文 120 数学 140 返回值: ZINTERSTORE
score范围查找元素 zrank 获取元素在集合中的排名,从小到大,最小的是0 zrevrank 获取元素在集合中的排序,从大到小 zincrby 给元素增加分数,如果不存在就新创建元素,并赋予对应的分数 zinterstore...withscores 1) "aa" 2) "5" 3) "a1" 4) "65" 5) "a2" 6) "70" 7) "a3" 8) "80" 9) "a4" 10) "90" ZInterStore...zadd s1 2 a1 3 a2 4 a3 (integer) 3 127.0.0.1:6379> zadd s2 5 a1 6 a4 7 a3 (integer) 3 127.0.0.1:6379> zinterstore...127.0.0.1:6379> zinterstore s5 2 s1 s2 weights 3 1 (integer) 2 127.0.0.1:6379> zrange s5 0 -1 withscores
ZINCRBY ZRANGE ZREVRANGE ZRANGEBYSCORE ZREVRANGEBYSCORE ZRANK ZREVRANK ZREMRANGEBYRANK ZREMRANGEBYSCORE ZINTERSTORE
领取专属 10元无门槛券
手把手带您无忧上云