Redis 有序集合(sorted set)
2016-01-21 16:17
288 查看
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)
require 'redis' redis = Redis.new #向 redis 的有序集合中添加了值并关联上分数 p redis.zadd('zset',1,'redis') p redis.zadd('zset',2,'mongodb') p redis.zadd('zset',3,'mysql') p redis.zadd('zset',3,'mysql') #不允许重复 p redis.zadd('zset',4,'mysql') #不允许重复 p redis.zadd('zset',3,'sqlserver') p redis.zadd('zset',1,'zadd') p redis.zadd('zset',1,'zcount') p redis.zadd('zset',2,'zcard') #获取有序集合的成员数 p redis.zcard('zset') #计算在有序集合中指定区间分数的成员数 p redis.zcount('zset',0,1) #有序集合中对指定成员的分数加上增量 p redis.zincrby('zset',1,'redis') p redis.zrange('zset',0,10) #score>=2 and <3的元素个数 p redis.zcount('zset','2','(3') #score >2 p redis.zcount('zset','(2','+inf') #通过索引区间返回有序集合成指定区间内的成员 p redis.zrange('zset',0,-1) p redis.zrange('zset',1,2) p redis.zrange('zset',0,-1,:with_scores=>true) #score>=2 and <3 p redis.zrangebyscore('zset',2,'(3') #score>=0 p redis.zrangebyscore("zset", "0", "+inf", :limit => [0, 2]) #score>2 p redis.zrangebyscore('zset','(2','+inf',:with_scores=>true) #返回有序集合中指定成员的索引 p redis.zrank('zset','redis') #返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 p redis.zrevrank('zset','redis') #移除有序集合中的一个或多个成员 p redis.zrem('zset','zadd') p redis.zrem('zset',['zcount','redis']) #删除前3个元素 p redis.zremrangebyrank('zset',0,2) #删除最后3个元素 p redis.zremrangebyrank('zset',-2,-1) #删除score>=2 and <4 的元素 redis.zremrangebyscore("zset", "2", "(4") #按score从大到小排序 p redis.zrevrange('zset',0,-1) p redis.zrevrange('zset',0,-1,:with_scores=>true) #score<4 and >=2 倒序排 p redis.zrevrangebyscore('zset','(4','2') #迭代有序集合中的元素 p redis.zscan('zset',0) p redis.zscan_each('zset').to_a #返回有序集中,成员的分数值 p redis.zscore('zset','redis')
相关文章推荐
- Redis源码分析二、Redis简单动态字符串
- Redis安装教程
- Redis集群方案,Codis安装测试
- Redis 优化配置
- Redis 主从配置
- Redis 集合(Set)
- Ubuntu下Redis安装
- redis
- ABP中使用Redis Cache(2)
- Redis主从同步
- Redis 集合(Set)
- redis学习笔记二之java调用redis
- redis学习笔记一 之Redis 安装
- redis持久化机制
- redis事务详解和例子
- redis info详解
- redis in ruby 存取hash
- spring MVC整合redis实例(简…
- 有关redis的博客链接
- redis3.0.4 集群安装详细步骤