• 峰Redis学习(6)Redis 数据结构(sorted-set的操作)


    第六节:Redis 数据结构之sorted-set 类型
    存储Sorted-Set
    Sorted-Set和Set的区别
     
    Sorted-Set中的成员在集合中的位置是有序
     
    存储Sorted-set常用命令
    添加元素
    获得元素
    删除元素
    范围查询
    扩展命令
     
    zadd 添加元素 里面包括评分和值
    127.0.0.1:6379> zadd sort1 5 a 4 b 6 c
    (integer) 3
    127.0.0.1:6379> zrange sort1 0 -1
    1) "b"
    2) "a"
    3) "c"
    我们添加集合sort1 元素是a,b,c 评分分别是5,4,6
    集合里的排序是根据评分从小到大排序的;
     
     
    继续添加元素
    假如此元素集合里面已经有了,则覆盖
    127.0.0.1:6379> zadd sort1 7 b
    (integer) 0
    127.0.0.1:6379> zrange sort1 0 -1
    1) "a"
    2) "c"
    3) "b"
    127.0.0.1:6379> zscore sort1 b     //通过zscore获取b的评分,发现已修改
    "7"
    假如此元素不在集合里,则添加
    127.0.0.1:6379> zadd sort1 9 d
    (integer) 1
    127.0.0.1:6379> zrange sort1 0 -1
    1) "a"
    2) "c"
    3) "b"
    4) "d"
    删除元素zrem
    127.0.0.1:6379> zrem sort1 b
    (integer) 1
    127.0.0.1:6379> zrange sort1 0 -1
    1) "a"
    2) "c"
    3) "d"
    zcard 查看集合里的元素个数
    127.0.0.1:6379> zcard sort1
    (integer) 3
    withscores  把评分也显示出来
    127.0.0.1:6379> zrange sort1 0 -1 withscores
    1) "a"
    2) "5"
    3) "c"
    4) "6"
    5) "d"
    6) "9"
    zrevrange 降序排列
    127.0.0.1:6379> zrevrange sort1 0 -1 withscores
    1) "d"
    2) "9"
    3) "c"
    4) "6"
    5) "a"
    6) "5"
    zremrangebyrank 根据排名来删除元素  删除3个
    127.0.0.1:6379> zrange sort1 0 -1 withscores
     1) "a"
     2) "5"
     3) "f"
     4) "5"
     5) "c"
     6) "6"
     7) "d"
     8) "9"
     9) "e"
    10) "10"
    127.0.0.1:6379> zremrangebyrank sort1 0 2
    (integer) 3
    127.0.0.1:6379> zrange sort1 0 -1 withscores
    1) "d"
    2) "9"
    3) "e"
    4) "10"
    zremrangebyscore 根据具体评分范围来删除元素
    127.0.0.1:6379> zrange sort1 0 -1 withscores
     1) "d"
     2) "9"
     3) "e"
     4) "10"
     5) "f"
     6) "11"
     7) "g"
     8) "16"
     9) "h"
    10) "18"
    127.0.0.1:6379> zremrangebyscore sort1 10 16
    (integer) 3
    127.0.0.1:6379> zrange sort1 0 -1 withscores
    1) "d"
    2) "9"
    3) "h"
    4) "18"
    zrangebyscore 根据评分范围来查找元素
    127.0.0.1:6379> zrange sort1 0 -1 withscores
     1) "d"
     2) "9"
     3) "h"
     4) "18"
     5) "i"
     6) "20"
     7) "j"
     8) "23"
     9) "k"
    10) "30"
    127.0.0.1:6379> zrangebyscore sort1 18 23 withscores
    1) "h"
    2) "18"
    3) "i"
    4) "20"
    5) "j"
    6) "23"
    limit 限定查找起始 类似分页
    127.0.0.1:6379> zrangebyscore sort1 18 23 withscores limit 0 2
    1) "h"
    2) "18"
    3) "i"
    4) "20"
    zincrby 给指定元素加分
    127.0.0.1:6379> zrange sort1 0 -1 withscores
     1) "d"
     2) "9"
     3) "h"
     4) "18"
     5) "i"
     6) "20"
     7) "j"
     8) "23"
     9) "k"
    10) "30"
    127.0.0.1:6379> zincrby sort1 5 h
    "23"
    127.0.0.1:6379> zrange sort1 0 -1 withscores
     1) "d"
     2) "9"
     3) "i"
     4) "20"
     5) "h"
     6) "23"
     7) "j"
     8) "23"
     9) "k"
    10) "30"
    zcount 查找指定评分范围的元素个数
    127.0.0.1:6379> zrange sort1 0 -1 withscores
     1) "d"
     2) "9"
     3) "i"
     4) "20"
     5) "h"
     6) "23"
     7) "j"
     8) "23"
     9) "k"
    10) "30"
    127.0.0.1:6379> zcount sort1 20 23
    (integer) 3
    Sorted-Set使用场景
    大型在线游戏积分排行榜
    构建索引数据
     
     
     
     
  • 相关阅读:
    自定义图标集
    微软Power BI 每月功能更新系列——Power BI 9月版本功能更新全面解读
    使用Power BI中的假设参数控制表视觉中要显示的行数
    如何使用Power Query自动存储最近2年的数据
    vscode-常用快捷键
    微信小程序开发-入门到熟练(wepy-初级篇)
    vscode-函数注释插件-正则插件
    vscode 编写Markdown文件
    wepy-开发总结(功能点)
    常用git命令
  • 原文地址:https://www.cnblogs.com/tenWood/p/8685094.html
Copyright © 2020-2023  润新知