• 理解 Redis(8)


    ordered set 是根据 score值有序排列的数据集合.

    首先还是清空数据, 并清屏, 此步骤省略~~~~

    新建一条 ordered set 数据 myset1, 并存入4个字符串, score 的排列顺序为1-4:

    127.0.0.1:6379> zadd myset1 1 a 2 b 3 c 4 d
    (integer) 4
    

    查看这个数据:

    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    

    给 myset1 的值里新加一个字符e, score=100:

    127.0.0.1:6379> zadd myset1 100 e
    (integer) 1
    

    查看最新的 myset1 的值:

    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "e"
    

    查看 myset1 的值里一共有几条数据:

    127.0.0.1:6379> zcard myset1
    (integer) 5
    

    根据指定的 score 的范围查看 myset1 的值里一共有几条数据:

    127.0.0.1:6379> zcount myset1 1 3
    (integer) 3
    127.0.0.1:6379> zcount myset1 1 5
    (integer) 4
    127.0.0.1:6379> zcount myset1 1 55
    (integer) 4
    127.0.0.1:6379> zcount myset1 1 101
    (integer) 5
    127.0.0.1:6379> zcount myset1 1 100
    (integer) 5
    127.0.0.1:6379> zcount myset1 1 99
    (integer) 4
    

    删除 myset1 值里的某个数据:

    127.0.0.1:6379> zrem myset1 b
    (integer) 1
    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "c"
    3) "d"
    4) "e"
    127.0.0.1:6379> zrem myset1 d
    (integer) 1
    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "c"
    3) "e"
    

    查看某个数据的索引值:

    127.0.0.1:6379> zrank myset1 e
    (integer) 2
    127.0.0.1:6379> zrank myset1 a
    (integer) 0
    

    反排序后查询索引:

    127.0.0.1:6379> zrevrank myset1 a
    (integer) 2
    127.0.0.1:6379> zrevrank myset1 e
    (integer) 0
    

    查询 score值, 没有的返回 nil:

    127.0.0.1:6379> zscore myset1 e
    "100"
    127.0.0.1:6379> zscore myset1 a
    "1"
    127.0.0.1:6379> zscore myset1 jsjs
    (nil)
    

    支持对同一个 score值设置多个不同的数据:

    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "c"
    3) "e"
    127.0.0.1:6379> zadd myset1 1 aaaa
    (integer) 1
    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "aaaa"
    3) "c"
    4) "e"
    127.0.0.1:6379> zadd myset1 1 bbbb
    (integer) 1
    127.0.0.1:6379> zrange myset1 0 -1
    1) "a"
    2) "aaaa"
    3) "bbbb"
    4) "c"
    5) "e"
    

    查询 score值, 再次证明 ordered set 支持对同一个 score值设置多个不同的数据:

    127.0.0.1:6379> zscore myset1 a
    "1"
    127.0.0.1:6379> zscore myset1 aaaa
    "1"
    127.0.0.1:6379> zscore myset1 bbbb
    "1"
    

    查询索引:

    127.0.0.1:6379> zrank myset1 a
    (integer) 0
    127.0.0.1:6379> zrank myset1 aaaa
    (integer) 1
    127.0.0.1:6379> zrank myset1 bbbb
    (integer) 2
    

    根据指定的 score值的范围查出数据:

    127.0.0.1:6379> zrangebyscore myset1 1 2
    1) "a"
    2) "aaaa"
    3) "bbbb"
    127.0.0.1:6379> zrangebyscore myset1 1 4
    1) "a"
    2) "aaaa"
    3) "bbbb"
    4) "c"
    

    以上, 就是关于 ordered set 的相关命令, enjoy~~~~

  • 相关阅读:
    Apache虚拟主机配置(多个域名访问多个目录)(转)
    What I Learned as a Junior Developer Writing Tests for Legacy Code(转载)
    java.text包
    高性能前端框架React详解
    vue.js快速搭建图书管理平台
    vue.js用法和特性详解
    最接近原生APP体验的高性能前端框架——MUI
    用JS制作一个信息管理平台完整版
    JQuery实用技巧--学会你也是大神(1)——插件的制作技巧
    用JS制作一个信息管理平台(1)
  • 原文地址:https://www.cnblogs.com/rachelross/p/10411811.html
Copyright © 2020-2023  润新知