Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
- 增
ZAdd key score1 member1 [score2 member2]
//添加
- 删
ZRem key member1 [member2]
//删除元素
ZRemRangeByLex key min max
//按照字典,删除区间内元素
ZRemRangeByRank key start stop
//移除排名区间内元素
ZRemRangeByScore key min max
//移除某个分数段中的元素
- 改
ZIncrBy key increment member
//分数加
- 查
ZCard key
//返回成员数
ZCount key min max
//指定区间分数的成员数
ZInterStore aimKey numbers key [key]
//交集存到aimKey,numbers指定了后面key的数目
ZLexCount key min max
//(min,max)中的成员数,min不是分数
ZRange key start stop [Withscores]
//返回区间内所有成员
//0:第一个成员 -1:倒数第一个
//withscores:显示分数
ZRangeByLex key min max [limit offset count]
//通过字典区间返回有序集合的成员
ZRangeByScore key min max [WithScores] [limit]
//返回分数区间内元素
ZRank key member
//返回索引
ZRevRange key start stop [withScores]
//返回有序集中指定区间内的成员,通过索引,分数从高到底
ZRevRangeByScore key max min [Withscores]
//返回分数区间内元素,分数高到低
ZrevRank key member
//返回指定成员排名(降序)
ZScore key member
//返回分数
ZUnionStore aimKey mumbers key1 key2
//并集
ZScan key cursor [Match patterm]
//迭代