命令

  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. go get下载包失败问题

    文章引用自 解决go get下载包失败问题 从github克隆 golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://go ...

  2. 拿到别人的Django程序如何在本地RUN起来

    在Pycharm IDE下 Edit Configurations 1.检查Python interpreter 2.检查 Working directory 3.Settings 数据库配置

  3. jmeter csv 插件讲解

    1.变量名称 name,pwd 格式表示因为文本中分割默认是逗号所以变量设置也是按此格式如果想按其他格式可以在分隔符栏自定义 2.忽略首行: 有的csv读取你希望读取的数据有header如: user ...

  4. 解决Zookeeper无法启动的问题

    在启动zookeeper集群的单个zookeeper节点时总是报如下错误 [root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh status JMX e ...

  5. 刷题64. Minimum Path Sum

    一.题目说明 题目64. Minimum Path Sum,给一个m*n矩阵,每个元素的值非负,计算从左上角到右下角的最小路径和.难度是Medium! 二.我的解答 乍一看,这个是计算最短路径的,迪杰 ...

  6. [Thiinking in Java]自闭学习之路(一)构造器

    前言- 本文是为个人学习做的整理性质的笔记,肯定带有许多不妥的地方,仅供参考. (第五章·初始化与清理 <Thinking in Java>) 用构造器确保初始化 正文- 构造器: 什么是 ...

  7. numpy.bincount正确理解

    今天看了个方法,numpy.bincount首先官网文档: numpy.bincount numpy.bincount(x, weights=None, minlength=0) Count numb ...

  8. ZOJ4110 Strings in the Pocket(2019浙江省赛)

    给出两个字符串,询问有多少种反转方法可以使字符串1变成字符串2. 如果两个串相同,就用马拉车算法找回文串的数量~ 如果两个串不同,从前往后找第一个不同的位置l,从后往前找第二个不同的位置r,反转l和r ...

  9. Nexus-配置vPC 实验二

    实验一中介绍的是单面的vPC,本实验配置的是dual site(双面vPC),这样的情况将上下的Port-channel都配置在了同一vPC下面. 实验拓扑如下: N5K-1配置:N5K-1(conf ...

  10. ES建立索引步骤, 1,index 2.mapping 3,别名

    1.建立索引PUT /index_trans_detail 2.建立mappingPOST /index_trans_detail/type_trans_detail/_mapping{ " ...