博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis学习笔记 - 数据类型与API(5)Sorted Set
阅读量:5930 次
发布时间:2019-06-19

本文共 2435 字,大约阅读时间需要 8 分钟。

Sorted Set (有序集合)

特点

  • 有序
  • 无重复
  • 集合间操作

集合 VS 有序集合

集合 有序集合
无重复元素 无重复元素
无序 有序
element element + score

列表 VS 有序集合

列表 有序集合
可以有重复元素 无重复元素
有序 有序
element element + score

常用命令

操作类型 命令
基本操作 zadd、zrem、zcard、zincrby、zscore
范围操作 zrange、zrangebyscore、zcount、zremrangebyrank
集合操作 zunionstore、zinterstore
命令 含义 时间复杂度
zadd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中 O( M * log(N) ), N 是有序集的基数, M 为成功添加的新成员的数量
zrem 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略 O(M*log(N)), N 为有序集的基数, M 为被成功移除的成员的数量。
zscore 元素的分数 O(1)
zincrby 增加或减少元素的分数 O(log(N))
zcard 元素的总个数 O(1)
zrange 返回指定索引范围内的升序元素【和分值】 O(log(N) + M),N 为有序集的基数,而 M 为结果集的基数
zrangebyscore 返回指定分数范围内的升序元素【和分值】 O(log(N) + M),N 为有序集的基数,而 M 为结果集的基数
zcount 返回有序结合内,在指定分数范围内的元素个数 O(log(N) + M),N 为有序集的基数, M 为值在 min 和 max 之间的元素的数量
zremrangebyrank 删除指定排名内的升序元素 O(log(N) + M),N 为有序集的基数,而 M 为被移除成员的数量
zremrangebyscore 删除指定分数内的升序元素 O(log(N) + M),N 为有序集的基数, M 为结果集的基数

zadd

  • zadd key score element(可以是多对)(向有序集合key添加score和element)

zrem

  • zrem key element(可以是多个) (删除指定元素)

zscore

  • zscore key element (返回元素的分数)

zincrby

  • zincrby key increScore element (增加或减少元素的分数)

zcard

  • zcard key (返回元素的总个数)

zrange

  • zrange key start end [withscores] (返回指定索引范围内的升序元素【和分值】)

zrangebyscore

  • zrangebyscore key minScore maxScore [withscores] (返回指定分数范围内的升序元素【和分值】)

zcount

  • zcount key minScore maxScore (返回有序结合内,在指定分数范围内的元素个数)

zremrangebyrank

  • zremrangebyrank key start end (删除指定排名内的升序元素)

zremrangebyscore

  • zremrangebyscore key minScore maxScore (删除指定分数内的升序元素)
127.0.0.1:6379> zadd report 100 xiaoming 98 xiaohong 85 laowang 60 zhangsan 55 lisi(integer) 5127.0.0.1:6379> zscore report laowang"85"127.0.0.1:6379> zcard report(integer) 5127.0.0.1:6379> zrank report xiaohong(integer) 3127.0.0.1:6379> zrank report xiaoming(integer) 4127.0.0.1:6379> zrem report lisi(integer) 1127.0.0.1:6379> zrange report 0 -1 withscores1) "zhangsan"2) "60"3) "laowang"4) "85"5) "xiaohong"6) "98"7) "xiaoming"8) "100"127.0.0.1:6379> zrangebyscore report 85 100 withscores1) "laowang"2) "85"3) "xiaohong"4) "98"5) "xiaoming"6) "100"127.0.0.1:6379> zcount report 85 100(integer) 3127.0.0.1:6379> zremrangebyrank report 1 1(integer) 1127.0.0.1:6379> zrange report 0 -1 withscores1) "zhangsan"2) "60"3) "xiaohong"4) "98"5) "xiaoming"6) "100"127.0.0.1:6379> zremrangebyscore report 85 98(integer) 1127.0.0.1:6379> zrange report 0 -1 withscores1) "zhangsan"2) "60"3) "xiaoming"4) "100"

其他命令

  • zrevrank
  • zrevrange
  • zrevrangebyscore
  • zinterstore
  • zunionstore

更多 Sorted Set 相关命令:

实战

  • 排行榜:新书榜、畅销榜、关注榜等。

相关内容:

转载地址:http://tsutx.baihongyu.com/

你可能感兴趣的文章
把表单转成json,并且name为key,value为值
查看>>
kotlin for android----------MVP模式实现登录
查看>>
.net FrameWork各个版本之间的发展[转]
查看>>
织梦CMS搭建网站必做的服务器相关安全设置
查看>>
张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器
查看>>
SQL Server 服务器主体拥有一个或多个端点无法删除;错误15141
查看>>
Linux-echo、cat命令详解(14)
查看>>
B-树的插入、查找、删除
查看>>
什么是音频视频比特率,采样率,讲的很不错
查看>>
WebApi系列~HttpClient的性能隐患
查看>>
【微信小程序】再次授权地理位置getLocation+openSetting使用
查看>>
Jsp页面,结果集分页和sql(top)分页的性能对比
查看>>
ML之监督学习算法之分类算法一 ——— 决策树算法
查看>>
VMWare------启动虚拟机时出现“start booting fron CD... Error loading image:DFEAULT.EZB”提示...
查看>>
C# 并行任务——Parallel类
查看>>
SQL Server AlwaysOn架构及原理
查看>>
17-spring学习-AOP初步实现
查看>>
mysql中实现分类汇总功能
查看>>
Day5费用流
查看>>
前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI
查看>>