Redis命令行之Zset
一、Redis之Zset简介
1. 有序集合Zset是String类型的有序集合。
2. Zset中每个元素都会关联一个double类型的分数值,redis通过分数值来为集合中所有成员进行从小到大排序。
3. Zset的成员是唯一的,但分数值可以重复。
4. Zset是通过hash表实现的,添加、删除、查找的复杂度都是O(1)。
5. Zset最大的成员数量为232-1(40多亿)个。
二、Redis之Zset命令行操作
Zadd:将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,则更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。
Zrange:返回有序集中指定区间内的成员。成员按分数值递增排序,分数值相同的则按字典序来排序。查看Zset所有成员:zrange zset_name 0 -1。

Zrevrange:返回有序集中指定区间内的成员。成员按分数值递减排序,分数值相同的则按字典序的逆序来排序。
Zrangebyscore:返回有序集中指定分数区间的成员列表,按分数值递增排序,分数值相同的则按字典序来排序。默认使用闭区间。
Zrevrangebyscore:返回有序集中指定分数区间的成员列表,按分数值递减排序,分数值相同的则按字典序的逆序来排序。注意,区间表示的时候大值在前,小值在后,默认使用闭区间。
-inf表示负无限,+inf表示正无限。

Zrangebylex:通过字典区间返回有序集的成员列表。注意,只有有序集合中所有成员的分数值都相同的时候才会根据成员的字典序来排序,否则该命令返回的结果将是不可预知的。参数必须指明是开区间还是闭区间。+表示正无限,-表示负无限。

Zscan:迭代有序集合中的元素。

Zcard:返回指定有序集的元素数量。
Zcount:返回有序集中指定分数区间的成员数量。
Zlexcount:返回有序集中指定字典区间的成员数量。必须指定区间是开区间还是闭区间。
Zscore:返回有序集中指定成员的分数值。

Zrank:返回有序集中指定成员的排名,按分数值递增排序。分数值最小者排名为0。
Zrevrank:返回有序集中指定成员的排名,按分数值递减排序。分数值最大者排名为0。

Zrem:移除有序集中的一个或多个成员,忽略不存在的成员。

Zremrangebylex:移除有序集中指定字典区间的所有成员。注意,只有有序集合中所有成员的分数值都相同的时候才会根据成员的字典序来排序,否则该命令操作的结果将是不可预知的。

Zremrangebyrank:移除有序集中指定排名区间的所有成员。

Zremrangebyscore:移除有序集中指定分数值区间的所有成员。

Zincrby:对有序集中指定成员的分数值增加指定增量值。若为负数则做减法,若有序集不存在则先创建,若有序集中没有对应成员则先添加,最后再操作。

下面对交集和并集的计算将使用以下两个有序集合进行示例:

Zinterstore:计算给定一个或多个有序集的交集,并将其存储到一个目的有序集中。默认情况下。
Zunionstore:计算给定一个或多个有序集的并集,并将其存储到一个目的有序集中。
结果集中某个成员的分数值是所有给定集下该成员分数值之和。

Redis命令行之Zset的更多相关文章
- 二、Redis启动、停止、Redis命令行的操作
1.redis命令 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录 redis-server redis服务器 redis-cli ...
- Redis - 命令行工具
使用Redis内置的命令行工具 redis-cli一些便捷的命令: 1.执行单条命令 平时在访问 Redis 服务器,一般都会使用 redis-cli 进入交互模式,然后一问一答来读写服务器,这种情况 ...
- redis命令行操作
打开shell,首先开启redis服务,在保证服务开启的情况下,打开客户端. 然后可以根据文档,进行命令行试验.
- redis 命令行查看修改配置文件项、配置文件说明
命令行查看修改配置文件项 config get | config set | config rewrite config get requirepass // 获取密码config set requi ...
- Redis命令行之Set
一.Redis之Set简介 1. Set是String类型的无序集合(元素成员唯一). 2. Set是通过hash表实现的,添加.删除.查找的复杂度都是O(1). 3. 每个集合最大成员数为232-1 ...
- Redis命令行之List
一.Redis之List简介 1. List是简单的字符串列表,按照插入顺序排列. 2. 一个列表最多可存储232-1个元素(40多亿). 二.Redis之List命令行操作 Lrange:获取列表指 ...
- Redis命令行之Hash
一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...
- Redis命令行之String
一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...
- Redis 命令行工具能这样用你知道了吗?
我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...
随机推荐
- NTFS文件系统结构及文件恢复
结构部分参考了 https://www.cnblogs.com/mwwf-blogs/archive/2015/05/04/4467687.html 以及P老师的课件. 文件恢复参考: https: ...
- webStorm Ctrl+s 自动格式化 然后 保存 用宏命令
使用WebStorm的Macros宏指令,实现保存的同时格式化代码,并跳至行尾 https://blog.csdn.net/gyz718/article/details/70556188
- JS计算两个日期时间差,天 小时 分 秒格式
function diffTime(startDate,endDate) { startDate= new Date(startDate); endDate = new Date(endDate); ...
- 新数据的GT列表
制作新数据集时需要重新制作train_GT,test_GT 代码: dic = {} with open('/home/bnrc/all_image_GT.txt','r') as file: for ...
- Hopfield 网络(上)
讲的什么 这部分主要对 Hopfield 网络作一大概的介绍.写了其模型结构.能量函数和网络的动作方式.主要参考了网上搜到的一些相关 PPT. 概述 早在 1982 年,Hopfield 发表的文 ...
- 把apk文件拖到re-sign.jar运行打开的界面找不到指定文件
下载一个zipalign.exe放到tools目录下面就可以了 点击下载
- CPP-基础:单目运算符重载
关于++运算符前置和后置重载的实现实例: #include <iostream> using namespace std; //创建时钟类 class Clock { public: Cl ...
- ios之UITextView
我们计划创建UITextView,实现UITextViewDelegate协议方法,使用NSLog检查该方法何时被调用.我们还会接触到如何在TextView中限制字符的数量,以及如何使用return键 ...
- GIMP做成颜色蒙板
效果图: 原始的美女图片上盖了一层的颜色,这个是想出来的效果,只是用来实践学到的技能,具体的场景还没有确定. 1/首先打开原始的美女图片: 2/然后在添加一张新的图片,作为新的图层添加进来: 这样的话 ...
- 【php】Windows PHP及xdebug安装 安装
php version 7.0 redis 下载地址 https://pecl.php.net/package/redis 7.0版本的redis不再依赖php_igbinary.dll扩展,可以独立 ...