命令

  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. 连接(JOIN)

    join 用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. INNER JOIN 从多个表中返回满足 JOIN 条件的所有行. INNER JOIN:如果表中有至少一个匹配,则返回行 L ...

  2. 吴裕雄 python 机器学习——数据预处理字典学习模型

    from sklearn.decomposition import DictionaryLearning #数据预处理字典学习DictionaryLearning模型 def test_Diction ...

  3. C# 酒店管理系统知识点

    identity (m,n)自增 m开始n每次增加的值  默认(1,1) 列名  数据类型  约束  identity(m,n) 重新设置identity的值 1.语法 dbcc checkident ...

  4. 微信支付开发h5调用

    这两天做微信支付开发.碰到大坑.纠结死我了.好不容做完. 后台java:直接上代码:注意区分前后端的变量大小写... @RequestMapping(value = "/index" ...

  5. 基于springboot实现轮询线程自动执行任务

    本文使用: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时 ...

  6. svn的安装和备份

    svn的安装: yum install subversion -y mkdir /svn 创建用来存放svn版本库的目录 svnadmin create /svn/first  创建一个svn的版本库 ...

  7. LFTP命令笔记

    安装 因为在OpenWrt命令行下scp传输文件很慢(只有2.5MB/s不到), 于是改用FTP下载. lftp是OpenWrt下的FTP客户端软件. 如果固件中未安装的话, 需要自己安装, 其依赖于 ...

  8. SQLite3创建表及操作

    SQLite 创建表 SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表.创建基本表,涉及到命名表.定义列及每一列的数据类型. 语法 CREATE TABLE 语句的基 ...

  9. python基础(一)--python介绍

    1. Python语言 1.1 编程语言 语言是人类最重要的交际工具,是人类之间进行信息交换的主要表达方式. 编程语言是用来定义计算机程序的语言,用来向计算机发出指令. 1.2 Python语言 Py ...

  10. accordion(折叠面板)的使用

    一.前言: 折叠面板(accordion)允许使用多面板(panel),同时显示一个或多个面板(panel).每个面板(panel)都有展开和折叠的内建支持.点击面板(panel)头部可展开或折叠面板 ...