一、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的更多相关文章

  1. 二、Redis启动、停止、Redis命令行的操作

    1.redis命令 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录 redis-server redis服务器 redis-cli ...

  2. Redis - 命令行工具

    使用Redis内置的命令行工具 redis-cli一些便捷的命令: 1.执行单条命令 平时在访问 Redis 服务器,一般都会使用 redis-cli 进入交互模式,然后一问一答来读写服务器,这种情况 ...

  3. redis命令行操作

    打开shell,首先开启redis服务,在保证服务开启的情况下,打开客户端. 然后可以根据文档,进行命令行试验.

  4. redis 命令行查看修改配置文件项、配置文件说明

    命令行查看修改配置文件项 config get | config set | config rewrite config get requirepass // 获取密码config set requi ...

  5. Redis命令行之Set

    一.Redis之Set简介 1. Set是String类型的无序集合(元素成员唯一). 2. Set是通过hash表实现的,添加.删除.查找的复杂度都是O(1). 3. 每个集合最大成员数为232-1 ...

  6. Redis命令行之List

    一.Redis之List简介 1. List是简单的字符串列表,按照插入顺序排列. 2. 一个列表最多可存储232-1个元素(40多亿). 二.Redis之List命令行操作 Lrange:获取列表指 ...

  7. Redis命令行之Hash

    一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...

  8. Redis命令行之String

    一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...

  9. Redis 命令行工具能这样用你知道了吗?

    我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...

随机推荐

  1. js 两个数组进行去重处理,返回去重后的数组

    1.去重的方法为: array_diff(a, b) { for (var i = 0; i < b.length; i++) { for (var j = 0; j < a.length ...

  2. Synchronized关键字整理

    Synchronized关键字整理 作用:能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全效果. 两个用法: 1.对象锁: 包括方法锁(默认锁对象为this当前实例对象)和同步代码块 ...

  3. WINDOWS-基础:WINDOWS常用API

    1.窗口信息 //MS 为我们提供了打开特定桌面和枚举桌面窗口的函数. hDesk=OpenDesktop(lpszDesktop,,FALSE,DESKTOP_ENUMERATE); //打开我们默 ...

  4. ubuntu frp 自编译。本文不能按顺序来 请自己理解

    go run:go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试. go build:go build 用于测试编译包,主 ...

  5. sscanf函数详解

    #if 0 ,sscanf():从一个字符串中读进与指定格式相符的数据. ,sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源. ,关于正则表 ...

  6. java mongodb 增删改查 工具类

    package com.jttx.demo;   import com.mongodb.*; import com.mongodb.util.JSON;   import java.net.Unkno ...

  7. SQL 牛刀小试 1 —— 查询操作

    #创建数据库create database ST CHARACTER set utf8;#创建用户create user ST identified by '19980510';#授权用户操作该数据库 ...

  8. 本地开发环境中部署已经写好的magento2.0项目

    环境:apache2.4.25+php7.0.16+mysql5.7 (注意版本搭配,详细可以看magento2.0官网看配置) apache最好使用80端口,host文件配置本地虚拟域名 php.i ...

  9. IE8 png图片黑色阴影的解决方案!

    以前都没有留意这个问题,最近开发中才发现. 什么情况下会出现黑边? PNG透明图片,同时有阴影,具备着两个IE8是不会有问题的,再加上使用了 “渐变显示”,就会出现了. 解决方法: img{displ ...

  10. Python中threading的join和setDaemon的区别[带例子]

    python的进程和线程经常用到,之前一直不明白threading的join和setDaemon的区别和用法,今天特地研究了一下.multiprocessing中也有这两个方法,同样适用,这里以thr ...