【Redis】Zset 数据类型

文章目录

  • 常用命令
    • zadd
    • zcard & zcount
    • zrange & zrevrange
    • zpopmax & bzpopmax
    • zpopmin & bzpopmin
    • zrank & zrevrank
    • zscore & zrem
    • zremrangebyrank & zremrangebyscore
    • zincrby
  • 多个集合间的交互命令
    • 交集 & zinterstore
    • 并集 & sunionstore
  • 内部编码

Zset 保留了 set 不能有重复元素的特点,但是它每个元素都有一个唯一的浮点类型的分数与之关联。也就是因为这样 Zset 就可以维护有序性。

常用命令

zadd

ZADD key [NX | XX] [GT | LT] [CH] [INCR] score member [score member ...]

zadd 的这几个和 string 相同的选项类似。

  • NX:仅用于添加新元素,不会更新已经存在的元素
  • XX:仅用于更新已经存在的元素,不会添加新元素
  • CH:加了这个选项,sadd 的返回值就不只是新增的元素个数,还包括了更新的个数
  • INCR:为指定元素加上指定的分数,加了这个选项就只能指定一个元素和分数了

img

zcard & zcount

zcard:返回 zset 内的元素个数

zcount:返回在指定最小分数和最大分数之间的元素个数

img

zrange & zrevrange

zrange:返回指定区间⾥的元素,分数按照升序。带上 WITHSCORES 可以把分数也返回。

zrevrange:返回指定区间⾥的元素,分数按照降序。带上 WITHSCORES 可以把分数也返回。

img

img

zpopmax & bzpopmax

这两都是取出指定数量个最大分数的元素,bzpopmax 为阻塞版本

img

zpopmin & bzpopmin

与上述的最大分数一样

img

zrank & zrevrank

这两都是返回指定元素在 zset 中的排名,zrank 是按照升序,zrevrank 是按照降序。

img

zscore & zrem

zscore:返回指定元素的分数

zrem:删除指定元素

img

zremrangebyrank & zremrangebyscore

zremrangebyrank:按照升序删除指定范围内的元素,左闭右闭

zremrangebyscore:删除指定分数范围内的元素,左闭右闭

img

zincrby

为指定元素的分数加上指定的分数

img

多个集合间的交互命令

交集 & zinterstore

求出给定有序集合中元素的交集并保存进⽬标有序集合中,在合并过程中以元素为单位进⾏合并,元素对应的分数按照不同的聚合⽅式和权重得到新的分数。

img

并集 & sunionstore

求出给定有序集合中元素的并集并保存进⽬标有序集合中,在合并过程中以元素为单位进⾏合并,元素对应的分数按照不同的聚合⽅式和权重得到新的分数。

img

内部编码

有序集合的内部编码有两种:

  • 当有序集合的元素个数⼩于 zset-max-ziplist-entries 配置(默认 128 个),同时每个元素的值都⼩于 zset-max-ziplist-value 配置(默认 64 字节)时。Redis 会⽤ ziplist 来作为有序集合的内部实现减少内存消耗
  • 当上述不满足时,redis 会选择使用 skiplist 实现

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

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

相关文章

淘宝客链接转换接口阿里妈妈佣金转换:功能、使用与优缺点详解

淘宝客链接转换接口详解 随着互联网的发展,电子商务行业日益繁荣,淘宝作为国内最大的电商平台之一,其链接转换接口也受到了广泛关注。淘宝客链接转换接口是一种将淘宝商品链接转换成特定形式的短链接或推广链接的工具,方便用户进…

模版初阶【C++】

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

AI人工智能培训老师叶梓:大数据治理的关键工具:开源数据血缘分析系统

在大数据时代,数据的产生和传播速度日益加快,数据之间的关系也变得日益复杂。为了更好地管理和理解数据之间的关系,数据血缘分析系统应运而生。本文将介绍几个开源的数据血缘分析系统,它们在数据治理、数据质量管理和数据隐私保护…

Apache Answer 开源问答社区安装体验

Answer 是由 SegmentFault 思否团队打造的一款问答平台软件,后端使用 Go 语言编写,于2022年10月24日(程序员节)正式开源。你可以免费使用 Answer 高效地搭建一个问答社区,并用于产品技术问答、客户支持、用户交流等场景。 2023年10月9日,Answer 顺利通过投票,以全票通过…

自己写的爬虫小案例

网址:aHR0cDovL2pzc2NqZ3B0Lmp4d3JkLmdvdi5jbi8/dXJsPS92aWV3L3dvcmtpbmdVbml0L3dvcmtpbmdVbml0Lmh0bWw 这串代码能够爬取勘察单位企业的详细信息。 import requests import time import csv f open(勘察单位公司信息.csv,w,encodingutf-8,newline) csv_writer …

详解QString与QByteArray使用对比

QString与QByteArray是Qt库中两种不同的字符串/字节序列容器,各自服务于特定的应用场景。本篇文章将详细解析它们的异同,帮助您在实际编程中准确选择和有效地使用这两种类型。 参考 QString类的使用 相同之处 构造与初始化: 两者都支持直接使…

2024深圳杯东三省A题全保姆教程 多个火箭残骸的准确定位

A题 多个火箭残骸的准确定位 问题1 :建立数学模型,分析如果要精准确定空中单个残骸发生音爆时的位置坐标(经度、纬度、高程)和时间,至少需要布置几台监测设备?假设某火箭一级残骸分离后,在落点附…

面试算法题之暴力求解

这里写目录标题 1 回溯1.1 思路及模板1.1 plus 排列组合子集问题1.2 例题1.2.1 全排列1.2.2 N 皇后1.2.3 N皇后问题 II1.2.4 子集 (子集/排列问题)1.2.4 组合(组合/子集问题)1.2.5 全排列 (排列问题)1.2.1做过1.2.6 子集II &#…

金融时报:波场亮相哈佛大学并举办TRON Builder Tour活动

近日,波场TRON作为顶级白金赞助商出席哈佛区块链会议并成功举办TRON Builder Tour哈佛站活动,引发海外媒体热议。美联社、金融时报、Cointelegraph等国际主流媒体及加密知名媒体均对此给予了高度评价,认为本次大会对TRON Builder Tour活动具有里程碑意义,彰显了波场TRON致力于促…

Linux加强篇-Vim编辑器

目录 ⛳️推荐 Vim文本编辑器 编写简单文档 配置主机名称 配置网卡信息 配置软件仓库 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 Vim文本编辑器 在Linux系统中一切都…

windows10小皮安装不同版本composer,实现自由切换使用

1、使用phpstudy小皮面板安装composer1.8.5和composer2.5.8两个版本; 2、打开刚才安装的composer安装目录:D:\phpstudy_pro\Extensions 3、打开composer1.8.5版本,修改composer.bat名称为composer1.8.5.bat: 4、打开composer2.5.8…

8【PS作图】画一个“像素云朵”

选择64*128像素大小,横向画布 选择“油漆桶”工具,“容差”调整为0,取消“锯齿”,勾选“连续的”,这样方便后续上色,并且边缘都是像素风格的锯齿状 点击画布,变成蓝色天空 画云朵,首…

Docker镜像与容器的命令与基本操作

目录 一、docker基本命令 1、查看镜像 2、查看所有容器的状态 3、docker的run指令 4、run的工作流程 5、查看docker版本的命令 6、查看docker信息 7、docker帮助命令文档 二、docker镜像操作 1、搜索镜像(公共仓库) 2、下载镜像 3、查看镜像…

springcloud第4季 springcloud-alibaba之sentinel

一 sentinel介绍 1.1 sentinel作用 sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障服务的稳定性。 1.2 组成部分 sen…

混合云构建-如何创建一个高可用的Site to Site VPN 连接 Azure 和GCP云

在现代云计算环境中,企业通常会采用多云战略,将工作负载分布在不同的云服务提供商上。这种方式可以提高可用性、降低供应商锁定风险,并利用每个云提供商的独特优势。然而,在这种情况下,需要确保不同云环境之间的互联互通,以实现无缝的数据传输和应用程序集成。 本文将详细介绍…

基于WOA优化的CNN-GRU-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络(CNN)在时间序列中的应用 4.2 GRU网络 4.3 注意力机制(Attention) 4.4 WOA优化算法 5.算法完整程序工程 1.算法运行效果图…

SwiftUI 5.0(iOS 17.0)触摸反馈“震荡波”与触发器模式趣谈

概览 要想创作出一款精彩绝伦的 App,绚丽的界面和灵动的动画并不是唯一吸引用户的要素。有时我们还希望让用户真切的感受到操作引发的触觉反馈,直击使用者的灵魂。 所幸的是新版 SwiftUI 原生提供了实现触觉震动反馈的机制。在介绍它之后我们还将进一步…

android学习笔记(二)

1、自定义View。 package com.example.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; //可以在View测量和布局完成后…

idea 通过maven构建无法使用@SpringBootApplication

问题描述 SpringBootApplication标红,没有提示,无法启动springboot使用maven构建。通过idea的标准版本构建 原因 springboot构建启动依赖spring-boot-maven-plugin idea的标准版本没有指定构建版本,然后在springboot-parent里面没有指定默…

云原生的基石:containerd引领未来容器发展趋势

文章目录 一、Containerd简介:容器技术的心脏二、Containerd核心原理解析三、Containerd与Docker的关系四、Containerd在云原生应用部署中的作用五、Containerd的扩展性和插件机制六、Containerd的安全特性七、Containerd的性能优化八、Containerd的社区和生态系统九…