[一]增加元素
--->命令:ZADD key score member [score member]
--->向有序集合放入一个分数为score的member元素
--->元素存在,则用新分数更换旧分数。
--->命令返回新加入集合的元素,不包含之前已经存在的元素
--->分数不仅可以是整数,也可以是浮点数
--->+inf  -inf 表示正无穷和负无穷
 
 
[二]获得元素的分数
--->命令:ZSCORE key member
--->获得元素所关联的分数
 
 
[三]获得排名在某个范围内的元素的列表
--->命令:ZRANGE key start stop [WITHSCORES]
--->zrange 命令会按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素(双闭区间)
--->如果获取元素列表的同时,还想获取元素对应的分数,在命令的最后加上withscores参数
--->索引从0开始。从左往右。-1表示右边第一个元素。[0,-1]表示返回所有元素
--->zrange命令的时间复杂度为O(log n+m),n为有序集合的基数,m为返回元素的个数
---> 如果两个元素的分数相等,redis会按(0-9,a-z,A-Z)顺序排序,
 
[四]获得排名在某个范围内的元素的列表
--->命令:ZREVRANGE key start stop [WITHSCORES]
--->命令会按照元素分数从大到小的顺序返回索引从start到stop之间的所有元素(双闭区间)
 
[五]获得指定分数范围的元素
--->命令:ZRANGEBYSCORE key min  max [WITHSCORES] [LIMIT offset count]
--->按从小到大的分数返回在min和max间(双闭区间)的元素
--->如果希望返回的元素,不包含两端点的值,则在分数前加“(”。
--->min max还支持无穷大。+inf正无穷  -inf负无穷
--->withscores标示返回元素列表的同时,还要返回分数
--->limit 从offset索引开始的count个人
[六]增加某个元素的分数
--->命令:ZINCRBY key increment  member
--->使key键里member元素的分数在原有基础上增加increment分数。
--->分数可以是正数,也可以是负数
--->返回值是增加后的分数。
 
[七]获得集合中元素的数量
--->命令:ZCARD key
--->获取key键集合中元素的数量
 
[八]获取指定分数范围内元素的个数
--->命令:ZCOUNT key min max
--->min max的取值规则和ZRANGEBYSCORE一样
 
[九]删除一个或多个元素
--->命令:ZREM key member [member...]
--->返回值是删除成功的元素。不存在的元素,不包括在内
 
[十]按照排名范围删除元素
--->命令:ZREMRANGEBYRANK key start stop
--->按照分数从小到大的顺序删除在指定排名范围内的所有元素,并返回删除的元素数量
 
[十一]按照分数范围删除元素
--->命令:ZREMRANGEBYSCORE key min max
--->按照分数从小到大的区间删除元素,并返回删除成功的元素个数
 
[十二]获得元素的排名
--->命令:ZRANK key member
--->按照分数从小到大的顺序,获得元素的排名。分数最小的元素排名0
--->命令:ZREVRANK key member
--->按照分数从大到小的顺序,拍的元素的排名。分数最大的元素排名0
 
[十三]计算有序集合的交集
--->命令:ZINTERSTORE destination numkeys key[ key ...] [WEIGHTS weight[weight ...]] [AGGERGATE SUM|MIN|MAX]
--->用来计算多个有序集合的交集,并将结果存储在destination键中(同样是按有序集合进行存储),返回的是destination中存储元素的个数
--->destination有序集合中元素的分数,是由参数AGGERGATE决定的。
(1)当AGGERGATE是sum的时候(也是默认值),destination键中元素的分数是每个参与计算的集合中该元素的分数之和
(2)当AGGERGATE是min的时候destination键中元素的分数是每个参与计算的集合中该元素的分数最小值
(3)当AGGERGATE是max的时候destination键中元素的分数是每个参与计算的集合中该元素的分数最大值
--->该命令还能够通过weights设置每个集合的权重,每个集合在参与计算时元素的分数会被乘上该集合的权重。
--->ZINTERSTORE是计算交集的。与该命令类似的还有:ZUNIONSTORE是计算集合并集的。

redis之(八)redis的有序集合类型的命令的更多相关文章

  1. 15天玩转redis —— 第六篇 有序集合类型

    今天我们说一下Redis中最后一个数据类型 “有序集合类型”,回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这 些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个 ...

  2. Redis常用命令入门5:有序集合类型

    有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型——有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...

  3. Redis从基础命令到实战之有序集合类型(SortedSet)

    有序集合类型是Redis五种数据类型中最高级的.也是最复杂的类型.有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一 ...

  4. Redis自学笔记:3.6入门-有序集合类型

    3.6有序集合类型 3.6.1介绍 在集合类型基础上,为集合中每个元素都关联了一个分数,故可以获得 分数最高(最低)的前N个元素,可以获得指定范围内的元素等 有序集合中每个元素不同,但它们的分数却可以 ...

  5. 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表

    python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...

  6. redis:order set有序集合类型的操作(有序集合)

    1. order set有序集合类型的操作(有序集合) 有序集合是在无序集合的基础上加了一个排序的依据,这个排序依据叫score,因此声明一个集合为有序集合的时候要加上score(作为排序的依据) 1 ...

  7. Redis数据类型使用场景及有序集合SortedSet底层实现详解

    Redis常用数据类型有字符串String.字典dict.列表List.集合Set.有序集合SortedSet,本文将简单介绍各数据类型及其使用场景,并重点剖析有序集合SortedSet的实现. Li ...

  8. redis有序集合类型sort set

    redis的数据类型之-有序集合 sort set和set类型一样,也是string类型元素的集合,也没有重复的元素,不同的是sort set每个元素都会关联一个权,通过权值可以有序的获取集合中的元素 ...

  9. redis之有序集合类型(Zset)——排行榜的实现

    当数据库对排序支持的不是很好,可以利用redis有序集合排序 原文链接:http://blog.csdn.net/loophome/article/details/50373202

随机推荐

  1. DEBUG宏

    4.8.6.运算中的临时匿名变量4.8.6.1.C语言和汇编的区别(汇编完全对应机器操作,C对应逻辑操作)(1)C语言叫高级语言,汇编语言叫低级语言.(2)低级语言的意思是汇编语言和机器操作相对应,汇 ...

  2. android Handler post sendMessage

    Handler 为Android操作系统中的线程通信工具,包为android.os.Handler. 与Handler绑定的有两个队列,一个为消息队列,另一个为线程队列.Handler可以通过这两个队 ...

  3. jquery动画切换引擎插件 Velocity.js 学习02

    案例实践: 第一页会以动画形式进入页面: 点击进入按钮时,第一页以动画消失,第二页以动画形式进入,同时四张图片也定义从小到大的动画形式: 第二页关闭按钮点击时,先是四张图片以缩小动画消失,然后第二页以 ...

  4. ZooKeeper管理员指南(九)

    部署 这部分包含了部署ZooKeeper的信息和覆盖这些话题 系统要求 集群(多服务)安装 单服务和开发者安装 前两部分假定你对在例如数据中心的生产环境安装ZooKeeper有兴趣.最后一部分包含你在 ...

  5. (第三章,第四章)http报文内的http信息,返回结果的http状态码

    第三章 http报文内的http信息 用于http协议交互的信息被称为http报文,包括请求报文和响应报文. 1.编码提升传输速率,在传输时编码能有效的处理大量的访问请求.但是编码的操作是计算机完成的 ...

  6. [Luogu 2805] NOI2009 植物大战僵尸

    这题是个比较经典的最大权闭合子图,可以建图转化为最小割问题,再根据最大流最小割定理,采用任意一种最大流算法求得. 对于每个点,如果点权w为正,则从源点到这个点连一条边权为w的有向边:否则如果w为负则从 ...

  7. Ubuntu12.04 SVN安装过程

    一.安装SVN和配置SVN 1.安装SVN apt-get install subversion 2.创建SVN目录,项目目录和配置文件目录 mkdir /var/svn mkdir /var/svn ...

  8. asyncio 实现 aiohttp

    #asyncio 没有提供http协议的接口 aiohttp import asyncio import socket from urllib.parse import urlparse async ...

  9. Jmeter-Java heap内存溢出

    使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms ...

  10. 省队集训Day1 过河

    [题目大意] 小奇特别喜欢猪,于是他养了$n$只可爱的猪,但这些猪被魔法猪教会了魔法,一不看着某些猪就会自己打起来. 小奇要带着他的猪讨伐战狂,路途中遇到了一条河.小奇找到了一条船,可惜这条船一次只能 ...