Redis数据类型之有序集合类型--Redis系列六
来源:互联网 发布:兰州知豆电动车在哪租 编辑:程序博客网 时间:2024/05/19 12:12
有序集合的时间复杂度是O(log(N))
1、增加元素
ZADD key score member[score member...]
ZADD命令用来向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原来的分数。
ZADD返回的是新加入到集合中元素的个数(不包含之前已经存在的元素)。
分数支持双精度浮点数。+inf和-inf分别表示正无穷和负值
支持两个元素的分数相同。
2、获得元素分数
ZSCORE key member
3、获得排名在某个范围的元素列表
ZRANGE key start stop [WITHSCORES] start 和 stop指的是元素位置
ZREVRANGE key start stop [WITHSCORES] 按照分数从大到小
ZRANGE命令会按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素(包含两端元素),负值代表从后向前查找
WITHSCORES会带分数返回,如果两个元素分数一样,会按照字典顺序来进行排序;
时间复杂度O(logn+m),n为有序集合的基数,m为返回元素个数。
4、获得指定分数范围内的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
1)该命令按照元素从小到大的顺序返回分数在min和max之间(包含min和max)的元素
2)如果不想包含端点,可以在分数前面加上"(",例如 ZRANGEBYSCORE board 80 (100
3)也支持-inf 和+inf
4)[LIMIT offset count] 和SQL中用法类似 向后偏移offset个元素,并且只获取前count个元素
例如ZRANGEBYSCORE board 60 +inf LIMIT 1 3 是获得分数高于60分的从第二个人开始的三个人
5、增加某个元素分数
ZINCRBY key increment member
返回值是更改后的分数
6、获得集合中元素的数量
ZCARD key
7、获得指定范围内元素个数
ZCOUNT key min max
8、删除一个或多个元素
ZREM key member[memeber...]
9、按照排名范围删除元素
ZREMRANGEBYRANK key start stop
按照分数从小到大的顺序(即索引0表示最小的值)删除在指定排名范围内的所有元素,并返回删除元素数量
10、按照分数范围删除元素
ZREMRANGESCORE key min max
11、获得元素的排名
ZRANK key member 从0开始 即分数最小的元素排名为0
ZREVRANK key member 逆向排序 分数最大的为0
12、计算有序集合的交集
ZINTERSTORE destination numkeys key [key...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
ZINTERSTORE命令用来计算多个有序集合的交集并将结果存储在destination键中(同样以有序集合类型存储),返回值是destination键中元素个数
1)当AGGREGATE是sum时destination 键中元素分数是每个参与计算的集合中该元素分数的和。
2)当AGGREGATE是min时destination 键中元素分数是每个参与计算的集合中该元素分数最小值。
3)当AGGREGATE是min时destination 键中元素分数是每个参与计算的集合中该元素分数最大值。
- Redis数据类型之有序集合类型--Redis系列六
- Redis学习笔记(六)类型之有序集合
- Redis数据类型之集合类型--Redis系列五
- redis数据类型(五)有序集合类型
- Redis基础之数据类型(SortedSet有序集合)
- Redis之Sorted-sets 有序集合类型
- 【Redis源码剖析】 - Redis数据类型之有序集合zset
- Redis教程(六) 有序集合(soted set / zset)类型
- Redis教程(六) 有序集合(soted set / zset)类型
- NoSQL之Redis对zset(有序集合)数据类型的操作
- redis 学习手册之有序集合数据类型sorted-sets操作
- Redis笔记7:数据类型之有序集合(sorted set)
- Redis数据类型之字符串类型--Redis系列二
- Redis数据类型之散列类型--Redis系列三
- Redis数据类型之列表类型--Redis系列四
- Redis源码解析(四):redis之数据类型哈希表、列表、集合和有序集合
- Redis基础之有序集合
- Redis学习笔记之七:有序集合类型
- ping ip
- LeetCode 21: Merge Two Sorted Lists
- postgresql 日志配置
- POJ1154--LETTERS(DFS)
- 单态设计模式(Singleton Design Pattern)
- Redis数据类型之有序集合类型--Redis系列六
- FragmentPagerAdapter与FragmentStatePagerAdapter区别
- Android drawText获取text宽度的三种方式
- linux下 eclipse装svn报failed to load javahl library的解决办法
- IOS本地存储的四种方式
- 利用redis缓存解决高并发下后端重复请求措施
- CodeForces 343D Water Tree(树链剖分+dfs时间戳)
- IOS学习 10月21日工作笔记
- 贝叶斯