温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis有序集合类型的常用命令整理

发布时间:2021-08-25 17:08:36 来源:亿速云 阅读:159 作者:chen 栏目:大数据

这篇文章主要讲解了“Redis有序集合类型的常用命令整理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis有序集合类型的常用命令整理”吧!

Redis常用命令整理有序集合类型

        增加元素

            zadd key score member [ score member ...... ]

             zadd 命令用来向有序集合中加入一个元素和该元素的分数,如果该元素已经存在,则会用新的分数替换原有的分数。zadd命令的返回值是新加入到集合中的元素个数(不包含之前已经存在的元素)


        获得元素的分数

            zscore key member

            返回为member 成员的 score 值,以字符串形式表示。


        获得排名在某个范围的元素列表

            zrange key start stop [ withscores ]

             zrange 命令会按照元素分数从小到大的顺序返回索引从 start 到 stop 之间的所有元素(包含两端的元素)。zrange 命令和 lrange 命令十分相似,如索引都是从0开始,负数代表从后向前查找(-1 表示最后一个元素)。如果需要同时获得元素的分数的话,可以在zrange 命令的尾部加上 widthscores 参数

            注:如果两个元素的分数相同,redis会按照字典顺序(即 0<9<A<Z<a<z 这样的顺序)来进行排列。如果元素的值是中文,则取决于中文的编码方式

            zrevrange key start stop [ withscores ]            

             zrevrange 命令和 zrange 的唯一不同在于 zrevrange 是按照元素分数从大到小的顺序给定结果的


        获得指定分数范围内的元素

            zrangebyscore key min max [ withscores ] [ limit offset count ]

             该命令按照元素分数从小到大的顺序返回分数在 min 到 max 之间(包含 min 和max 的元素)

            如果希望分数范围不包含端点值,可以在分数前加上 "(" 符号,例如:希望返回80分到100分的的数据,可以包含80分单不包含100分

                命令:zrangebyscore scoreboard 80 (100 widthscores            

               min 和 max 还支持无穷大,同 zadd 命令一样,-inf 和 +inf 分别表示负无穷大和正无穷大。比如希望得到所有分数高于 80分(不包含80分)的人的名单,但是却不知道最高分是多少,这是就可以使用 +inf               zrangebyscore scoreboard (80 +inf

      

                命令 limit offset count 与 SQL 中的用法基本相同,即在获得的元素列表的基础上向后偏移 offset 个元素并且只获取前count个元素

                               

                zrevrangebyscore 不仅是按照元素分数从大往小的顺序给出结果,而且他的 min 和max 的参数的顺序和 zrangebyscore 命令是相反的

               


        增加某个元素的分数

            zincrby key increment member

            zincrby 命令可以增加一个元素的分数,返回值是更改后的分数,例如想给peter 加 4 分

               zincrby scoreborder 4 peter

               increment  也可以是负数表示减分

               zincrby scoreborder -4 peter

            如果指定元素不存在,redis 在执行命令前会先建立它并将他的值赋为0在执行操作       


        获得集合中元素的数量

            zcard key

             当 key 存在且是有序集类型时,返回有序集的基数。当 key 不存在时,返回 0 。


        获得指定分数范围内的元素个数

            zcount key min max

             zcount 命令的 min max 参数的特性与 zrangebyscore 命令中的一样

       


 

        删除一个或多个元素

            zrem key member [ member .... ]

             zrem 命令的返回值是成功删除的元素数量(不包含本来就不存在的元素)


        按照排名范围删除元素

            zremrangebyrank key start stop

            按照元素分数从小到大的顺序(即索引 0 表示最小的值)删除在指定排名范围内的所有元素,并返回删除元素的数量


 

        按照分数范围删除元素

            zremrangebyscore key min max

             zremrangebyscore 命令删除指定分数范围内的所有元素,参数 min 和 max 的特性和 zrangebyscore 命令中的一样,返回值是删除元素的个数

           


        获得元素的排名

            zrank key member

            zrank 命令会按照元素分数从小到大的顺序获得指定的元素排名(从 0 开始,即分数最小的元素排名为0)

            zrevrank key member          

             zrebrank 命令则正好相反,分数最大的元素排名为0


        计算有序集合的交集

            zinterstore destination numkeys key [ key ... ] [ weights weight [ weight ... ] ] [ aggregate SUM | MIN | MAX ]

            zinterstore 命令用来计算多个有序集合的交集病将结果存储在 destination 键中(同样以有序集合类型存储),返回值为 destination                 键中元素的个数,destination 键中元素的分数是由 aggregate 参数决定的

            1. 当 aggregate 是 SUM (也就是默认值),destination 键中元素的分数是每个参与计算的集合中该元素分数的和

            2.当 aggregate 是 MIN 时,destination 键中元素的分数是参与计算的集合中该元素分数最小值   

            3.当 aggregate 是 MAX 是,destination 键中元素的分数是参与计算的集合中该元素分数最大值        

          zinterstore 命令还能通过 weights 参数设置每个集合的权重,每个集合在参与计算时元素的分数会被乘上该集合的权重


               

        计算集合间的并集

            zunionstore 

              用法与 zinterstore 命令的用法一样

感谢各位的阅读,以上就是“Redis有序集合类型的常用命令整理”的内容了,经过本文的学习后,相信大家对Redis有序集合类型的常用命令整理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI