89、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->Zset 相关命令

本次讲解要点:
** Set相关命令:是指value中的数据类型**

启动redis服务器:
打开小黑窗:
C:\Users\JH>e:
E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin
E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exe redis.windows.conf

启动redis客户端:
小黑窗:redis-cli

★ Redis的数据类型(都是针对Redis的value而言)

redis和map差不多。
Map 只能保存在内存中,
redis可以保存在磁盘。

Redis的key都是String

▲ value支持如下5种数据类型:

String: 最基本的数据类型,可保存任何的数据。
List: 元素是String的有序集合,集合内的元素可以重复。
Set: 元素是String的无序集合,集合内的数据不能重复。
Zset: 元素是String的有序集合,集合内的数据不能重复。
Hash: 也是key-value集合(类似Java的Map),key和value都是String类型的数据。这种类型主要用于保存对象。

Redis为不同数据类型提供了不同的操作命令,因此特定类型的数据需要使用对应类型的命令来执行操作。

★ ZSet相关的命令

zset 和 set 的区别:
ZSet相当于Set的增强版,它会每个元素都分配一个double类型的score(分数),并按该score对集合中元素排序。有点类似于TreeSet。
ZSet集合内元素不允许重复,但元素的score是可以重复的。
分数大的排前面

ZADD key score member [score member …]: 向ZSet添加一个或多个元素,或更新已有的元素的score。

ZCARD key: 返回key对应的ZSet中元素的个数

ZCOUNT key min max: 返回ZSet的score位于min到max之间的元素个数。

ZDIFF numkeys key [key …] [WITHSCORES]: 计算给定ZSet之间的差值。该命令要Redis 6.2+才可用。

ZDIFFSTORE destination numkeys key [key …]: ZDIFF的存储版本,
将给定ZSet的差值保存到destination中。该命令要Redis 6.2+才可用。

ZINCRBY key increment member: 将memeber元素的score增加increment。
随着元素的score的改变,ZSet中元素的顺序也会随之改变。

ZINTER numkeys key [key …]: 计算给定ZSet的交集。该命令要Redis 6.2+才可用。

ZINTERSTORE destination numkeys key [key …]: ZINTER的存储版本,
将给定ZSet的交集保存到destination中。交集中元素的score是相同元素的score之和。

ZLEXCOUNT key min max: 返回ZSet内按字典排序时从min到max之间所有元素的个数。
一般用于对ZSet中所有元素的score都相等时进行处理。
min:可支持的写法: - 代表最小值。[字符串, 代表包含边界。(字符串,代表不包含边界。

  max:可支持写法:+代表最大值,[字符串, 代表包含边界。(字符串,代表不包含边界。提示:当向ZSet添加多个score相等的元素时,ZSet就会使用字典顺序(英文字典中字母的排序方式)对这些元素排序,此时就可按字典顺序来获取指定范围内元素的个数。

ZPOPMAX key [count]: 弹出ZSet中分数最大的元素。

BZPOPMAX key [key…] timeout: ZPOPMAX的阻塞版本。该命令会阻塞进程,直到指定ZSet有元素弹出或超时。

ZPOPMIN key [count]: 弹出ZSet中分数最小的元素。

BZPOPMIN key [key …] timeout: ZPOPMIN的阻塞版本。该命令会阻塞进程,直到指定ZSet有元素弹出或超时。

ZRANGE key start stop [WITHSCORES]: 返回ZSet内从start索引到stop索引范围内的元素(及score)。
索引支持负数,负数表示从最后面开始,比如-1代表最后一个元素。
类似于List的LRange命令。

ZRANGEBYLEX key min max [LIMIT offset count]: 返回ZSet内按字典排序时从min到max之间的所有元素。

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]: 返回ZSet内分数从min到max之间的所有元素。

ZRANK key member: 返回ZSet内指定元素的索引。score最小的索引是0。

ZREM key member [member …]: 删除ZSet内一个或多个元素。

ZREMRANGEBYLEX key min max: 按字典排序删除ZSet从min到max之间的所有元素。

ZREMRANGEBYRANK key start stop: 删除ZSet内从start索引到stop索引之间的所有元素。

ZREMRANGEBYSCORE key min max: 删除ZSet内score位于min到max之内的所有元素。

ZREVRANGE key start stop [WITHSCORES]: ZRANGE的反向版本。

ZREVRANGEBYLEX key max min [LIMIT offset count]: ZRANGEBYLEX的反向版本。

ZREVRANGEBYSCORE key max min [WITHSCORES]: ZRANGEBYSCORE的反向版本。

ZREVRANK key member: ZRANK的反向版本。score最大的反向索引反而是0。

ZSCORE key member: 获取指定元素的score。

ZUNION numkeys key [key …]: 计算给定ZSet的并集。该命令要Redis 6.2+才可用。

ZUNIONSTORE destination numkeys key [key …]: ZUNION的存储版本,将给定ZSet的并集保存到destination中。

ZMSCORE key member [member …]: 获取多个元素的score,该命令要Redis 6.2+才可用。

ZSCAN key cursor [MATCH pattern] [COUNT count]:
使用cursor遍历key对应的ZSet。pattern指定只遍历匹配pattern的元素。

  注意:实际上该count选项根本不起作用。因为redis的设计在遍历Zet、Hash,总会将所有的元素在一次遍历时就返回出来。【注意点:】:在Zset中,将元素的位置索引称为RANK,排在第一位的(score最小的元素)的RANK是0。

演示:

ZADD key score member [score member …]: 向ZSet添加一个或多个元素,或更新已有的元素的score。
在这里插入图片描述

ZCARD key: 返回key对应的ZSet中元素的个数
在这里插入图片描述

ZCOUNT key min max: 返回ZSet的score位于min到max之间的元素个数。
在这里插入图片描述

ZINCRBY key increment member: 将memeber元素的score增加increment。
随着元素的score的改变,ZSet中元素的顺序也会随之改变。
就是给某个元素增加分数在这里插入图片描述

ZINTERSTORE destination numkeys key [key …]: ZINTER的存储版本,
将给定ZSet的交集保存到destination中。交集中元素的score是相同元素的score之和。

这里的 numkeys 就是如果是两个集合要进行查询交集的部分,那么这个 numkeys 就要写为 2,
3个zset集合要查交集,那么numkeys就是3

在这里插入图片描述

在这里插入图片描述

ZLEXCOUNT key min max: 返回ZSet内按字典排序时从min到max之间所有元素的个数。
注意点:一般用于对ZSet中 所有元素的score都相等 时进行处理

min:可支持的写法: - 代表最小值。[ 字符串, 代表包含边界。(字符串,代表不包含边界。
max:可支持写法:+代表最大值,[ 字符串, 代表包含边界。(字符串,代表不包含边界。

提示:
当向ZSet添加多个score相等的元素时,
ZSet就会使用 字典顺序(字典顺序:英文字典中字母的排序方式)对这些元素排序,
此时就可按字典顺序来获取指定范围内元素的个数。

在这里插入图片描述
ZPOPMAX key [count]: 弹出ZSet中分数最大的元素。并回显

在这里插入图片描述
BZPOPMAX key [key…] timeout: ZPOPMAX的阻塞版本。该命令会阻塞进程,直到指定ZSet有元素弹出或超时。
在这里插入图片描述

ZPOPMIN key [count]: 弹出ZSet中分数最小的元素。
BZPOPMIN key [key …] timeout: ZPOPMIN的阻塞版本。该命令会阻塞进程,直到指定ZSet有元素弹出或超时。
在这里插入图片描述

ZRANGE key start stop [WITHSCORES]: 返回ZSet内从start索引到stop索引范围内的元素(及score)。
索引支持负数,负数表示从最后面开始,比如-1代表最后一个元素。
类似于List的LRange命令。
在这里插入图片描述

ZRANGEBYLEX key min max [LIMIT offset count]: 返回ZSet内按字典排序时从min到max之间的所有元素。
提示:
当向ZSet 添加多个score相等的元素时,
ZSet就会使用 字典顺序(字典顺序:英文字典中字母的排序方式)对这些元素排序,
此时就可按字典顺序来获取指定范围内元素的个数。
在这里插入图片描述

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]: 返回ZSet内分数从min到max之间的所有元素。
在这里插入图片描述

ZRANK key member: 返回ZSet内指定元素的索引。score最小的索引是0。
在这里插入图片描述

ZREM key member [member …]: 删除ZSet内一个或多个元素。
在这里插入图片描述

ZREMRANGEBYLEX key min max: 按字典排序删除ZSet从min到max之间的所有元素。
在这里插入图片描述

ZREMRANGEBYRANK key start stop: 删除ZSet内从start索引到stop索引之间的所有元素。
在这里插入图片描述

ZREMRANGEBYSCORE key min max: 删除ZSet内score位于min到max之内的所有元素。
在这里插入图片描述

ZSCORE key member: 获取指定元素的score。
在这里插入图片描述

ZSCAN key cursor [MATCH pattern] [COUNT count]:
使用cursor遍历key对应的ZSet。pattern指定只遍历匹配pattern的元素。

注意:实际上该count选项根本不起作用。因为redis的设计在遍历Zet、Hash,总会将所有的元素在一次遍历时就返回出来。

【注意点:】:在Zset中,将元素的位置索引称为RANK,排在第一位的(score最小的元素)的RANK是0。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146660.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【算法分析与设计】贪心算法(下)

目录 一、单源最短路径1.1 算法基本思想1.2 算法设计思想1.3 算法的正确性和计算复杂性1.4 归纳证明思路1.5 归纳步骤证明 二、最小生成树2.1 最小生成树性质2.1.1 生成树的性质2.1.2 生成树性质的应用 2.2 Prim算法2.2.1 正确性证明2.2.2 归纳基础2.2.3 归纳步骤2.3 Kruskal算…

【刷题笔记10.2】LeetCode: 罗马数字转整数

LeetCode: 罗马数字转整数 一、题目描述 二、分析 方法一: 将给定字符串s中的"IV", “IX”, “XL”, “XC”, “CD”, “CM” 全部替换为其他字符如:a, b, c, d, e, f 这种,然后就可以遍历累加了。 s s.replace("IV",…

python-切换镜像源和使用PyCharm进行第三方开源包安装

文章目录 前言python-切换镜像源和使用PyCharm进行第三方开源包安装1. 切换镜像源2. 使用PyCharm进行第三方开源包安装 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每…

7.3 调用函数

前言: 思维导图: 7.3.1 函数调用的形式 我的笔记: 函数调用的形式 在C语言中,调用函数是一种常见的操作,主要有以下几种调用方式: 1. 函数调用语句 此时,函数调用独立存在,作为…

ARINC825规范简介

ARINC825规范简介 机载CAN网络通用标准 ARINC825规范全称为机载CAN网络通用标准(The General Standardization of CAN for Airborne Use)。顾名思义,ARINC825规范是建立在CAN物理网络基础上的高层规范。CAN网络使用共享的双绞电缆传输数据&…

接雨水问题

接雨水问题 问题背景 LeetCode 42. 接雨水 接雨水问题是一个经典的计算雨水滞留量的问题,通常使用柱状图来表示不同高度的柱子。在下雨的情况下,柱子之间的凹陷部分能够存储雨水,问题的目标是计算这些柱子所能接收的雨水总量。 相关知识 …

【人工智能导论】线性回归模型

一、线性回归模型概述 线性回归是利用函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。简单来说,就是试图找到自变量与因变量之间的关系。 二、线性回归案例:房价预测 1、案例分析 问题:现在要预测140平方的房屋的价格&…

【HUAWEI】单臂路由

目录 ​ 🥮写在前面 🥮2.1、拓扑图 🥮2.2、操作思路 🥮2.3、配置操作 🍣2.3.1、LSW4配置 🍣2.3.2、R2配置 🍣2.3.3、测试网络 🦐博客主页:大虾好吃吗的博客 &…

求∑(1,n)⌊k/i⌋∗i

对于[k/i]*i,我们可以分两端,前,最多有段,后边从到n,取值范围为1-,所以最多有段,共2*段。对于每段从i开始,其上界jk/(k/i)(维持k/i不变最大范围i-j)。 计算[k/i]*i时间复杂度降到级…

十大常见排序算法详解(附Java代码实现和代码解析)

文章目录 十大排序算法⛅前言🌱1、排序概述🌴2、排序的实现🌵2.1 插入排序🐳2.1.1 直接插入排序算法介绍算法实现 🐳2.1.2 希尔排序算法介绍算法实现 🌵2.2 选择排序🐳2.2.1 选择排序算法介绍算…

在linux下预览markdown的方法,转换成html和pdf

背景 markdown是一种便于编写和版本控制的格式,但却不便于预览——特别是包含表格等复杂内容时,单纯的语法高亮是远远不够的——这样就不能边预览边调整内容,需要找到一种预览方法。 思路 linux下有个工具,叫pandoc&#xff0c…

华为云云耀云服务器L实例评测 | 实例使用教学之简单使用:通过部署宝塔面板可视化管理华为云云耀云服务器

华为云云耀云服务器L实例评测 | 实例使用教学之简单使用:通过部署宝塔面板可视化管理华为云云耀云服务器 介绍华为云云耀云服务器 华为云云耀云服务器 (目前已经全新升级为 华为云云耀云服务器L实例) 华为云云耀云服务器是什么华为…

【C语言经典100例题-66】(用指针解决)输入3个数a,b,c,按大小顺序输出。

代码&#xff1a; #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS 1//VS编译器使用scanf函数时会报错&#xff0c;所以添加宏定义 swap(p1, p2) int* p1, * p2; {int p;p *p1;*p1 *p2;*p2 p; } int main() {int n1, n2, n3;int* pointer1, * pointer2, * point…

ARM---实现1-100求和任务

.text .globl _start_start:mov r0, #0x1mov r1, #0x1 给r1加一固定1不变mov r2, #0x64 100判断bl sumcmp r1, r2 sum:addcc r1, r1,#0x1 r1自增addcc r0, r0, r1 r0求和movcc pc,lrstop:b stop.end

BI神器Power Query(27)-- 使用PQ实现表格多列转换(3/3)

实例需求&#xff1a;原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中&#xff0c;att1、att3、att5为一组&#xff0c;att2、att3、att6为另一组&#xff0c;数据如下所示。 更新表格数据 原始数据表&#xff1a; Col1Col2Att1Att2Att3Att4Att5Att6AAADD…

Hive【Hive(三)查询语句】

前言 今天是中秋节&#xff0c;早上七点就醒了&#xff0c;干啥呢&#xff0c;大一开学后空教室紧缺&#xff0c;还不趁着假期来学校等啥呢。顺便偷偷许个愿吧&#xff0c;希望在明年的这个时候&#xff0c;秋招不知道赶不赶得上&#xff0c;我希望拿几个国奖&#xff0c;蓝桥杯…

火热报名中 | 2天峰会、20+热门议题,AutoESG 2023数智低碳---中国汽车碳管理创新峰会亮点抢先看!

在碳中和的背景下&#xff0c;减碳之风吹遍全球&#xff0c;而汽车行业则由于产业链长、辐射面广、碳排放总量增长快、单车碳强度高的特点&#xff0c;成为各国碳排放管理的监管重点&#xff0c;聚焦汽车业的碳博弈也逐步升级。 2020年&#xff0c;国务院办公厅印发的《新能源…

douyin 六神x-helios / x-medusa解密记录学习

在某音新版本的抓包中&#xff0c;经常会遇到两个熟悉的字段x-helios &#xff0c;x-medusa&#xff0c;它是新版本中风控的重要组成部分。 通常而言&#xff0c;我们可以使用像frida&#xff0c;unidbg来模拟计算出六神参数&#xff0c;比如说我们随便找一个23.9版本生成一个…

K折交叉验证——cross_val_score函数使用说明

在机器学习中&#xff0c;许多算法中多个超参数&#xff0c;超参数的取值不同会导致结果差异很大&#xff0c;如何确定最优的超参数&#xff1f;此时就需要进行交叉验证的方法&#xff0c;sklearn给我们提供了相应的cross_val_score函数&#xff0c;可对数据集进行交叉验证划分…

【深度学习实验】卷积神经网络(六):自定义卷积神经网络模型(VGG)实现图片多分类任务

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 构建数据集&#xff08;CIFAR10Dataset&#xff09; a. read_csv_labels&#xff08;&#xff09; b. CIFAR10Dataset 2. 构建模型&#xff08;FeedForward&…