redis有序集合系列之四

2021-09-24 03:59:41 字數 1573 閱讀 4708

目錄

zunionstore

zinterstore

1.語法

zunionstore destination numkeys key [key...] [weights weight[weight...]] [aggregate sum|min|max]

2.解析

計算給定的乙個或多個有序集的並集,其中給定key的數量必須以numkeys引數指定

並將該並集儲存到destination

預設情況下,結果集中某個成員的score值是所有給定集下該成員值之和

weights

使用weights選項,你可以為每個給定有序集分別指定乙個乘法因子,每個給定有序集的所有成員的score值傳遞給聚合函式之前都要先乘以該有序集的因子

如果沒有指定weights選項,乘法因子預設設定為1

aggregate

使用aggregate選項,你可以指定並集的結果集的聚合方式

預設使用的引數sum,可以將所有集合中某個成員的score值之和作為結果集中該成員的score值

使用引數min,可以將所有集合中某個成員的最小score值作為結果集中該成員的score

引數max則是將所有集合中某個成員的最大score值作為結果集中該成員的score值

3.返回值

儲存到destination的結果集的基數

4.例子

zadd pro 2000 peter 3500 jack 5000 tom

zadd man 2000 herry 3500 mary 4000 bob

zrange pro 0 -1 withscires

zrange man 0 -1 withscores

zunionstore salary 2 man pro weight 1 3//man 集合的score乘以1 pro集合score乘以3

1.語法

zinterstore destination numkeys key [key...][weight weight [weight...]][agreegate sum|min|max]

2.解析

計算給定的乙個或多個有序集的交集,其中給定key的數量必須以numkeys引數指定,

並將該並集儲存到destination。

預設情況下,結果集中某個成員的score值是所有給定集下該成員值之和。

3.返回值

儲存到destination的結果集的基數.

4.例子

zadd mid 70 "li" 70 "han" 99 "tom"

zadd fin 88 "li" 75 "h" 99 "tom"

zinterstore sum 2 mid fin

zrange sum 0 -1 withscores

redis有序集合系列之一

目錄 zend zscore zincrby zcard zcount 1.語法 zend key score member score member score member 2.解析 將乙個或多個member元素及其score值加入到有序集key當中。如果某個member已經是有序集的成員,那麼...

Redis之Sorted sets 有序集合型別

sorted sets和sets型別極為相似,它們都是字串的集合,都不允許重複的成員出現在乙個set中。它們之間的主要差別是sorted sets中的每乙個成員都會有乙個分數 score 與之關聯,redis正是通過分數來為集合中的成員進行從小到大的排序。然而需要額外指出的是,儘管sorted se...

Redis 有序集合

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的,但分數 score 卻可以重複。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度...