redis sorted set

升序排序,指按score升序排序,score相同,按v字典序升序。降序排序同理。

withscores返回v和score,不使用withscores,只返回v

下标区间 i、j从0开始,可为负数,

值区间min、max可为 -inf和+inf,默认闭区间,

'('表示开区间,如zcount k (1 5 => 1<s<=5,(1 (5 => 1<s<5

zCard k 返回k的基数

zAdd k s1 v1 s2 v2 将分值为score的元素v添加到k里,v存在则更新score(可为小数)

zIncrBy k c v v的score加c,k或v不存在,相当于zadd k c v

扫描二维码关注公众号,回复: 11280348 查看本文章

zScore k v 返回v的score(字符串形式)

zRank k v 返回v在升序集合k里的排名,从0开始计数

zRevRank k v 返回v在降序集合k里的排名,从0开始计数

zRange k i j [withscores] 返回下标在[i,j]里的升序子集

zRevRange k i j [withscores] 返回下标在[i,j]里的降序子集

zCount k min max 返回score在[min,max]里的元素数量

zRangeByScore k min max [withscores] [limit offset count]

返回score在[min,max]里的升序子集

zRevRangeByScore k max min [withscores] [limit offset count]

返回score在[max,min]里的降序子集

zRem k v1 v2... 移出,返回被移出的数量

zRemRangeByRank k i j 移出下标区间[i,j]内元素,返回移出的数量

zRemRangeByScore k min max 移出值区间[min,max]内元素,返回移出的数量

zUnionStore d n k1 [k2.. ] [w1 [w2..]] [sum/min/max]

n个集合k1..kn的并集存到d里,返回d的基数

wi表示集合ki的乘法因子,score会先乘w,再传给聚合函数

聚合函数默认为sum,表示d里的score是ki里相同v的score的和

min、max表示d里的score是ki里相同v的score的最小/大值

zInterStore d n k1 [k2.. ] [w1 [w2..]] [sum/min/max]

交集,返回d的基数

所有元素的score都相同:

zRangeByLex k min max [limit offset count]

返回v在区间[min,max]里的子集

zLexCount k min max 返回v在区间[min,max]里的元素数量

zRemRangeByLex 移出v在区间[min,max]里的元素,返回移出的数量

zAdd、zIncrBy、zCount、zRem、zLexCount

zRank、zRevRank

复杂度 O(lgn)

zRange、zRevRange

zRangeByScore、zRevRangeByScore

zRemRangeByRank、zRemRangeByScore

zRangeByLex、zRemRangeByLex

复杂度 O(lgn + m),n为k的基数,m为结果集的基数或被移出/返回的数量

zUnionStore

复杂度 O(n) + O(mlgm),n为k1、k2..的基数总和,m为结果集的基数

zInterStore

复杂度O(nk) + O(mlgm),n为基数最小的k的基数,k为集合数量,m为结果集的基数

猜你喜欢

转载自www.cnblogs.com/ts65214/p/12975946.html