命令

  1. 增加元素

    ZADD score member [score member ...]
    
    > ZADD scoreboard 89 Tom 76 Peter 100 David
    (integer 3)
    • ZADD 命令用来向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原有的分数。
    • ZADD 命令的返回值是新加入到集合中的元素个数
  2. 获得元素的分数

    ZSCORE key member
    
    > ZSCORE scoreboard Tom
    "89"
  3. 获得排名在某个范围的元素列表

    ZRANGE key start stop [WITHSCORES]  // 元素分数从小到大
    
    ZREVRANGE key start stop [WITHSCORES]   //元素分数从大到小
    
    > ZRANGE scoreboard 0 2
    1) "Peter"
    2) "Tom"
    3) "David"
    > ZRANGE scoreboard 0 2 WITHSCORES
    1) "Peter"
    2) "76
    3) "Tom"
    4) "89"
    5) "David"
    6) "100"
  4. 获得指定分数范围的元素

    ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    
    ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
    
    > ZRANGEBYSCORE scoreboard 80 100 // 80 <= score <= 100
    1) "Tom"
    2) "David"
    > ZRANGEBYSCORE scoreboard 80 (100 // 80 <= score < 100
    1) "Tom"
    > ZRANGEBYSCORE scoreboard 80 +inf // 80 <= score
    1) "Tom"
  5. 增加某个元素的分数

    ZINCRBY key increment memeber
    
    > ZINCRBY scoreboard 4 Peter
    "80"
    > ZINCRBY scoreboard -4 Peter
    "76"
  6. 获得集合中元素的数量

    ZCARD key
    
    > ZCARD scoreboard
    (integer) 3
  7. 获得指定分数范围内的元素个数

    ZCOUNT key min max
    
    > ZCOUNT scoreboard 90 100
    (integer) 1
  8. 删除一个或多个元素

    ZREM key member [member ...]
    
    > ZREM scoreboard Jerry
    (integer) 1
    • 返回值是成功删除的元素数量
  9. 按照排名范围删除元素

    按照元素分数从小到大的顺序删除(即索引0表示最小的值)删除处于指定排名范围内的所有元素,并返回删除的元素个数

    ZREMRANGEBYRANK key start stop 
    
    > ZADD testRem 1 a 2 b 3 c 4 d 5 e 6 f
    (integer) 6
    > ZREMRANGEBYRANK testRem 0 2
    (integer) 3
    > ZRANGE testRem 0 -1
    1) "d"
    2) "e"
    3) "f"
  10. 按照分数范围删除元素

    ZREMRANGEBYSCORE key mix max
    
    > ZREMRANGEBYSCORE key (4 5
    (integer) 1
    > ZRANGE testRem 0 -1
    1) "d"
    3) "f"
  11. 获得元素的排名

    ZRANK key member // 按元素分数从小到大
    ZREVRANK key member //按元素分数从大到小 > ZRANK scoreboard Tom
    (integer) 0
    > ZREVRANK scoreboard Tom
    (integer) 1
  12. 计算有序集合的交集

    ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ..]] [AGGREGATE SUM|MIN|MAX]

Redis有序集合类型的更多相关文章

  1. redis有序集合类型sort set

    redis的数据类型之-有序集合 sort set和set类型一样,也是string类型元素的集合,也没有重复的元素,不同的是sort set每个元素都会关联一个权,通过权值可以有序的获取集合中的元素 ...

  2. redis 有序集合类型

  3. redis有序集合数据类型---sortedset

    一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...

  4. Redis常用命令入门5:有序集合类型

    有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型——有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...

  5. Redis从基础命令到实战之有序集合类型(SortedSet)

    有序集合类型是Redis五种数据类型中最高级的.也是最复杂的类型.有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一 ...

  6. 15天玩转redis —— 第六篇 有序集合类型

    今天我们说一下Redis中最后一个数据类型 “有序集合类型”,回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这 些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个 ...

  7. Redis自学笔记:3.6入门-有序集合类型

    3.6有序集合类型 3.6.1介绍 在集合类型基础上,为集合中每个元素都关联了一个分数,故可以获得 分数最高(最低)的前N个元素,可以获得指定范围内的元素等 有序集合中每个元素不同,但它们的分数却可以 ...

  8. 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表

    python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...

  9. redis:order set有序集合类型的操作(有序集合)

    1. order set有序集合类型的操作(有序集合) 有序集合是在无序集合的基础上加了一个排序的依据,这个排序依据叫score,因此声明一个集合为有序集合的时候要加上score(作为排序的依据) 1 ...

随机推荐

  1. netty(三)---NioEventLoop分析

    问题 : NioEventLoop 作用到底是什么?是在哪里用到的? NioEventLoop 和我们开头创建的 ServerBootstrap 和 EventLoopGroup 是什么关系 ? Ni ...

  2. java linux安装jdk,git, maven

    jdk8下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html mkdir ...

  3. 「CF241E」Flights

    传送门 Luogu 解题思路 首先对于所有不属于任何一条路径上的边,它的权值是任意的. 对于所有在路径上的边 \((u,v)\) 满足 \(1\le dis_v-dis_u\le2\) 差分约束即可. ...

  4. python开发基础作业01:模拟登陆系统

    随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...

  5. VMwarePro密钥

    VMware10Pro密钥 5F29M-48312-8ZDF9-A8A5K-2AM0Z VMware12Pro密钥 5A02H-AU243-TZJ49-GTC7K-3C61N VF5XA-FNDDJ- ...

  6. java 协程

    协程是比线程更轻量级的程序处理单元,也可以说是运行在线程上的线程,由自己控制 1.适用于被阻塞的,且需要大量并发的场景. 2.不适用于,大量计算的多线程,遇到此种情况,更好实用线程去解决. 虽然Jav ...

  7. Emprie 使用基础笔记

    0x01 简介 empire 是一个后渗透攻击框架,具有加密通信和灵活框架的功能.Empire可以在不需要Powershell.exe的情况下执行PowerShell代理,后期利用的模块很强大,如sc ...

  8. HDU1285-确定比赛名次(拓扑+优先队列)

    对于拓扑排序,每次能入队的只有入度为0的点,所以用优先队列即可. 以及,第一组数据日常卡OJ,这组数据跳了一个点,我的程序这个版本也过不了(其实写了另一个版的),稍微改改更正确. #include & ...

  9. CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)

    学习笔记-2 CN109241772A发票区块链记录方法.装置.区块链网关服务器和介质(腾讯) 解决什么问题? 让发票信息记录到区块链的情况下减少发票信息泄露 链上有什么数据? 发行发票事件信息(发票 ...

  10. Babel的安装和使用

    安装Node.JS 和 npm,如未安装可参照其他文章 1.创建一个package.json npm init (回车, 一直下一步即可) 安装 Babel npm install --save-de ...