六、Redis 基础命令--有序集合
来源:互联网 发布:java snmp4j get超时 编辑:程序博客网 时间:2024/05/21 07:07
1、有序集合是由散列表和跳跃表实现的,所以即使元素再多,获取中间的元素速度也很快。
2、有序集合为集合中的每个元素都关联了一个分数。
3、有序集合与列表的对比
相同点:
都是有序的,都可以获取某一个范围的元素
不同点:
1、列表是采用双向链表实现的,所以获取接近两端的数据很快,获取中间数据会很慢。
2、有序集合则采用的是散列表和跳跃表(百度好理解)
3、列表中不能调整某个元素的位置,但是集合可以,通过更改分数。
4、有序集合更耗费内存
4、ZADD 添加元素,返回新添加的个数 (不含已经有的)
127.0.0.1:6379> ZADD eng_score 85 klov 90 klov2 100 klov3
(integer) 3 如果元素已存在,则会用新的分数替换掉原有的分数,返回数据 0
127.0.0.1:6379> ZADD eng_score 99 klov
(integer) 0
127.0.0.1:6379> ZSCORE eng_score klov
"99"
(integer) 0
127.0.0.1:6379> ZSCORE eng_score klov
"99"
5、ZSCORE 获取元素的分数
127.0.0.1:6379> ZSCORE eng_score klov
"88"
"88"
6、分数不仅支持正数,还支持浮点数
7、获得排名在某一范围内的元素列表
ZRANGE key start stop [WITHSCORES] ------------从小到大的顺序
ZREVRANGE key start stop [WITHSCORES]-------- 从大到小的顺序
按照分数从小到大(大到小)的顺序返回索引从start 到 stop之间的所有元素(包含两端数据)。和LRANGE命令相似,索引都是从 0 开始,负数代表从后向前查找(-1表示最后一个元素,所以 ZRANGE key 0 -1 就是获取所有元素)
127.0.0.1:6379> ZRANGE eng_score 0 -1 WITHSCORES
1) "klov2"2) "90"3) "klov"4) "99"5) "klov3"
6) "100"
如果两个元素的分数相同,则会按照字典顺序返回
127.0.0.1:6379> ZRANGE eng_score 0 -1 WITHSCORES
1) "klov2"2) "90"3) "klov"4) "99"5) "angla"6) "100"7) "klov3"
8) "100"
8、获得指定范围的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
获取的元素包含两端min和max.如果不需要两端可以执行:
127.0.0.1:6379> ZRANGEBYSCORE eng_score (60 (100
1) "klov2"2) "klov"
还支持无穷大: -inf +inf
9、增加某个元素的分数:ZINCRBY key increment member 返回增加后的值
127.0.0.1:6379> ZINCRBY eng_score 50 klov3
"150"
"150"
0 0
- 六、Redis 基础命令--有序集合
- Redis命令 -- 有序集合
- Redis 有序集合命令
- redis学习笔记五之基础命令—有序集合
- redis有序集合相关命令
- Redis基础之有序集合
- Redis数据类型之有序集合类型--Redis系列六
- 【Redis笔记(六)】 Redis数据结构 - 有序集合zset
- Redis命令学习-SortedSet(有序集合)
- Redis基础之数据类型(SortedSet有序集合)
- Redis从基础命令到实战之有序集合类型(SortedSet)
- Redis学习笔记(六)类型之有序集合
- Redis教程(六) 有序集合(soted set / zset)类型
- Redis教程(六) 有序集合(soted set / zset)类型
- redis基本命令之二:集合、有序集合
- redis-有序集合
- redis 有序集合
- redis 有序集合
- easyUI做静态页面
- Linux 网络socket等数据使用巧妙之处
- Android开发之自动换行RadioGroup
- 蓝桥杯练习之核桃的数量
- C++的另一种错误处理策略
- 六、Redis 基础命令--有序集合
- 浅谈find_char()函数 字符串中找单个字符和多个字符
- [每天一个知识点]6-Java语言-char和code point
- 关于HDU 1713 相遇周期
- 原子操作 vs 非原子操作
- DataReader转DataSet方法
- C++语言的15个晦涩特性
- 七、Redis 基础命令---任务队列
- Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based!