zoukankan      html  css  js  c++  java
  • Redis in .NET Core 入门:(5) Sorted SET

    第1篇:https://www.cnblogs.com/cgzl/p/10294175.html

    第2篇 String:https://www.cnblogs.com/cgzl/p/10297565.html

    第3篇 Hash:https://www.cnblogs.com/cgzl/p/10301916.html

    第4篇 List和Set:https://www.cnblogs.com/cgzl/p/10309415.html

    本文介绍Redis的Sorted SET,可能比较无聊,大多内容来自文档。

    Sorted SET

    Sorted Set有点像Set和Hash的结合体。

    和Set一样,它里面的元素是唯一的,类型是String,所以它可以理解为就是一个Set。

    但是Set里面的元素是无序的,而Sorted Set里面的元素都带有一个浮点值,叫做分数(score),所以这一点和Hash有点像,因为每个元素都映射到了一个值。

    Sorted Set是有序的,规则如下:

    • 如果A.score > B.score,那么A > B。
    • 如果A.score == B.score,那么A和B的大小就通过比较字符串来决定了,而A和B的字符串是不会相等的,因为Sorted Set里面的值都是唯一的。

    ZADD

    ZADD可以添加元素到Sorted Set,就和Set的SADD命令差不多:

    可以看到ZADD的格式是:zadd key score element。

    ZRANGE,ZREVRANGE

    ZRANGE默认按分数由低到高把Sorted Set的元素显示出来:

    想按分数要从高到低显示,需要使用ZREVRANGE

    也可以一同把分数显示出来,使用参数WITHSCORES

    ZRANGEBYSCORE

    ZRANGEBYSCORE可以按范围显示Sorted Set,格式是zrangebyscore key 分数下限 分数上限:

    可以看到结果也包括了分数下限和分数上限这两个边。

    ZREMRANGEBYSCORE

    ZREMRANGEBYSCORE可以按范围移除元素:

    该命令返回的是移除元素的个数。

    其中-inf和inf分别表示负无穷和正无穷。

    ZRANK

    ZRANK命令可以获得元素的排名:

    注意,排名是从0开始的。

    ZREVRANK

    ZREVRANK这个正好和ZRANK相反,就不说了。

    词典分数

    Sorted Set里分数相同的元素是按照词典分数(可以理解为比较字符串)进行排序的。

    ZRANGEBYLEX

    ZRANGEBYLEX可以按词典范围展示Sorted Set:

    可以看到该命令把开头字目为C到E(不包括E)的元素都显示了出来。

    还有ZREVRANGEBYLEXZREMRANGEBYLEXZLEXCOUNT等针对词典的命令,请自行探索。

    在.NET Core 项目里操练

    ZADD,ZRANGE

    ZREVRANGE,WITHSCORES

    结果:

    ZRANGEBYSCORE

    结果:

    ZREMRANGEBYSCORE

    结果:

    ZRANK

    结果:

    ZRANGEBYLEX

    结果:

    本系列的文字介绍就到这,接下来开始录制视频,依旧B站,谢谢。

  • 相关阅读:
    DAY12 基本余数 运算符2
    DAY11 基本运算符
    DAY10 变量 常量 作用域
    DAY09 JAVA 类型转换
    DAY08 数据类型2
    DAY07 数据类型
    DAY06 JAVA基础语法1注释2标识符
    Beta冲刺集合
    Alpha冲刺集合
    高级软件工程实践总结
  • 原文地址:https://www.cnblogs.com/cgzl/p/10321149.html
Copyright © 2011-2022 走看看