redis sorted set
Posted 是的哟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
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为结果集的基数
以上是关于redis sorted set的主要内容,如果未能解决你的问题,请参考以下文章
直接在安装了redis的Linux机器上操作redis数据存储类型--对Sorted-Sets操作