尚硅谷redis7 20-redis10大类型之zset

zset是redis中的有序集合【sorted set】

zset就是在set基础上,每个val值前加一个score分数值。

之前set是k1 v1 v2 v3现在zset是k1 score1 v1 score2 v2

向有序集合中加入一个元素和该元素的分数
ZADD key score member [score member...]

添加元素

127. 0. 0. 1: 6379> ZADD zset1 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5

ZRANGE key start stop [WITHSCORES]

按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素

WITHSCORES:是否带分数遍历

127.0. 0. 1: 6379> ZRANGE zset1 0 - 1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
127.0. 0. 1: 6379> ZRANGE zset1 0 - 1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
9) "v5"
10) "100"

zrevrange

按照元素分数从大到小的顺序返回索引从start到stop之间的所有元素

WITHSCORES:是否带分数遍历

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

获取指定分数范围的元素

withscores:带分数

(:不包括

limit start numbers:限制返回个数 从start开始取numbers个

127. 0. 0. 1: 6379> ZRANGEBYSCORE zset1 60 90  //指定取值范围为60到90
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> ZRANGEBYSCORE zset1 60 90 withscores //指定取值范围为60到90 带分数
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6)"80"
7)"v4"

8)"90"

127. 0. 0. 1: 6379> ZRANGEBYSCORE zset1 (60 90 withscores //小括号:不包括60 即70到80
1) "v2"
2) "70"
3) "v3"
4) "80"
5) "v4"
6)"90"

127. 0. 0. 1:6379> ZRANGEBYSCORE zset1 (60 90 withscores limit 0 1
1) "v2"
2) "70"

ZSCORE key member

获取元素的分数

zscore zset1 v5 //获取v5分数

ZCARD key

获取集合中元素的数量

zscard zset1


zrem key 某score下对应的value值

作用是删除元素

127.0. 0.1:6379> ZREM zset1 v5  // 删除v5
(integer) 1
127.0.0.1:6379> ZREM zset1 v5
(integer) 0
127.0. 0. 1:6379> ZRANGE zset1 0 - 1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"

ZINCRBY key increment member

增加某个元素的分数

ZINCRBY zset1 3 v1  // 给v1加3分

ZCOUNT key min max

获取指定分数范围内的元素个数

127. 0. 0. 1: 6379> ZCOUNT zset1 60 100
(integer) 4
127. 0. 0. 1: 6379> ZCOUNT zset1 65 70
(integer) 1

ZMPOP

从键名列表中的第一个非空排序集中弹出一个或多个元素,他们是成员分数对

127.0.0.1:6379> ZADD myzset 1 one 2 two 3 three

127.0.0.1:6379> ZRANGE myzset 0 - 1 withscores
one
1
two
2
three
3
127. 0. 0. 1:6379>ZMPOP 1 myzset min count 1
myzset
one
1
127.0. 0. 1:6379> ZRANGE myzset 0 - 1 withscores
two
2
three

3

ZRANK key values值

作用是获得下标值

127.0. 0. 1:6379> ZRANGE zset1 0 -1
1) "v2"
2) "v3"
3)"v4"
127.0. 0. 1:6379> ZRANK zset1 v2
(integer) 0
127.0.0. 1: 6379> ZREVRANK zset1 v2
(integer) 2

ZREVRANK key values

作用是逆序获得下标值

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 SPI通信(软件)

一、SPI简介 SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slav…

Kotlin Native与C/C++高效互操作:技术原理与性能优化指南

一、互操作基础与性能瓶颈分析 1.1 Kotlin Native调用原理 Kotlin Native通过LLVM编译器生成机器码,与C/C++的互操作基于以下核心机制: CInterop工具:解析C头文件生成Kotlin/Native绑定(.klib),自动生成类型映射和包装函数双向调用约定: Kotlin调用C:直接通过生成的绑…

云原生安全 SaaS :从基础到实践

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 1. 基础概念 什么是 SaaS? SaaS(Software as a Service,软件即服务)是一种基于云计算的软件交付模式。用…

git clone 提速

git上的项目时间久了 .git文件夹非常大,这时候更新一次项目需要花费很长的时间,解决方法也很简单,加一个depth参数,命令如下: git clone --depth 1 https://github.com/xxxxxx/xxxxxx指定了 depth 1 的时候&#xff0…

Redis 性能优化:核心技术、技巧与最佳实践

Redis 作为高性能的内存数据库,其性能优化是系统设计中的关键环节。本文结合 Redis 官方文档及实践经验,从内存管理、延迟优化、CPU 效率、网络配置等多个维度,系统性地阐述 Redis 性能优化的核心技术与最佳实践。 通过以下优化手段,Redis 可在高并发、低延迟场景中发挥极致…

PostgreSQL 14 pacemaker 高可用集群

核心架构原理 集群组成(典型三节点结构): [Node1] PostgreSQL Pacemaker Corosync pcsd [Node2] PostgreSQL Pacemaker Corosync pcsd [Node3] PostgreSQL Pacemaker Corosync pcsd ↕ ↕ ↕ ← Corosync 多…

影刀Fun叉鸟-2048

文章目录 仅为自动化演示,实际2048判定逻辑需要更加严谨 参考代码 # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能 # 3. 当此模块作…

Vue3.5 企业级管理系统实战(二十):角色菜单

本篇聚焦于角色菜单权限分配功能的实现,围绕“给角色赋予菜单权限”这一核心场景,从接口设计、组件封装到页面集成展开完整技术方案的阐述。主要内容包括: 1. 角色权限接口开发:定义获取角色权限、分配权限等接口,规范…

go实现钉钉三方登录

钉钉的的官方开发文档中只给出了java实现三方登录的,我们准备用go语言来实现 实现网页方式登录应用(登录第三方网站) - 钉钉开放平台 首先就是按照文档进行操作,备注好网站的信息 获得应用凭证,我们后面会用到 之后…

一、OpenCV的基本操作

目录 1、OpenCV的模块 2、OpenCV的基础操作 2.1图像的IO操作 2.2绘制几何图形 2.3获取并修改图像中的像素点 2.4 获取图像的属性 2.5图像通道的拆分与合并 2.6色彩空间的改变 3、OpenCV的算数操作 3.1图像的加法 3.2图像的混合 3.3总结 1、OpenCV的模块 2、OpenCV的基…

虚拟机配置桥接,远程工具直接访问

虚拟机网络配置 前言windows下安装linux虚拟机配置网络1、设置虚拟机网络模式:桥接模式2、配置网络参数1、查看本机电脑连接的网络情况2、打开虚拟机,编辑配置文件3、编辑虚拟网络 3、测试连通性 前言 好不容易装上了虚拟机,输入命令时又发现…

RabbitMQ 概述与安装

MQ 作用与介绍 MQ 是什么 MQ (message queue),从字面意思看是一个队列, FIFO 先进先出,只不过里面存放的内容是 消息 消息 可以比较简单,比如只包含 文本字符串,JSON 等;也可以很复杂,比如 内嵌对象 等 MQ 多用于分布式系统之间进行通信 系统之间的调用通常有两种方式: 1…

如何在Vue中实现延迟刷新列表:以Element UI的el-switch为例

如何在Vue中实现延迟刷新列表:以Element UI的el-switch为例 在开发过程中,我们经常需要根据用户操作或接口响应结果来更新页面数据。本文将以Element UI中的el-switch组件为例,介绍如何在状态切换后延迟1秒钟再调用刷新列表的方法&#xff0…

CSS2相关知识点

CSS2相关知识点 CSS的编写位置样式种类样式表的优先级 CSS选择器CSS基本选择器通配选择器元素选择器类选择器ID选择器 复合选择器HTML元素间的关系交集选择器并集选择器后代选择器子代选择器兄弟选择器属性选择器伪类选择器伪元素选择器 颜色的表示表示方式一:颜色名…

centos yum源,docker源

yum源repo文件: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repodocker源repo文件: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker和docker c…

深入探索AI模型工程:算法三大门派与监督学习的魅力

在当今人工智能蓬勃发展的时代,AI系统正逐渐渗透到我们生活的方方面面。从智能语音助手到自动驾驶汽车,从医疗影像诊断到金融风险预测,AI的应用场景无处不在。然而,构建一个高效、可靠的AI系统并非易事,它需要我们从宏…

[De1CTF 2019]SSRF Me

算是我第一次正儿八经的分析python代码了 from flask import Flask, request import socket import hashlib import urllib import sys import os import jsonreload(sys) sys.setdefaultencoding(latin1)app Flask(__name__) # 创建一个Flask应用实例 secret_key os.ura…

Halcon 图像预处理②

非线性图像分段变化: 先窗体打开图片 对数非线性变化: 结果图像的亮度/对比度显著增加 log_image(Image,LogImag1,e) 参数1:输入图像 参数2: 输出图像 参数3:底数 log_image(Image,LogImage2,0.1) 图像结果亮度和…

云原生安全之网络IP协议:从基础到实践指南

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 IP协议(Internet Protocol)是互联网通信的核心协议族之一,负责在设备间传递数据包。其核心特性包括&…

QML学习08Text

Text 1、颜色(color)2、获取宽度和高度(contentWidth、contentHeight)3、字体格式(font)4、文本样式(textFormat)5、超链接 1、颜色(color) //颜色Text {colo…