Redis五大数据结构之 ZSet 及其常见使用命令

2024-04-21 22:18

本文主要是介绍Redis五大数据结构之 ZSet 及其常见使用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ZSet数据结构:

在set基础上加上一个score
如 : 原来set是 k1 v1 v2 v3,现在ZSet是k1 score1 v1 score2

ZADD / ZRANGE

myredis:1>zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5myredis:1> 
"5"myredis:1>zrange zmyredis:1>set01 0 -11)  "v1"2)  "v2"3)  "v3"4)  "v4"5)  "v5"myredis:1>zrange zset01 0 -1 withscores1)  "v1"2)  "60"3)  "v2"4)  "70"5)  "v3"6)  "80"7)  "v4"8)  "90"9)  "v5"10)  "100"

ZRANGEBYSCORE
用法:
1.ZRANGEBYSCORE zset01 60 90:查询score在[60,90]的全部值
2.ZRANGEBYSCORE zset01 60 90 limit 60 2:查询score在60-90的全部值中的索引从0起的后两个值,包含索引0
3.ZRANGEBYSCORE zset01 60 (90:查询score在[60,90)的全部值
4.ZRANGEBYSCORE zset01 (60 (90:查询score在(60,90)的全部值

115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 60 90
1) "v1"
2) "v2"
3) "v3"
4) "v4"
115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 60 90 limit 0 2
1) "v1"
2) "v2"
115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 60 (90
1) "v1"
2) "v2"
3) "v3"
115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 (60 (90
1) "v2"
2) "v3"

ZREM :删除指定元素

115.159.67.200:6379[1]> ZREM zset01 v5
(integer) 1
115.159.67.200:6379[1]> ZRANGE zset01 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"

ZCARD / ZCOUNT / ZRANK /ZSCORE
ZCARD key :查询集合元素总数
ZCOUNT key min max:查询符合条件的元素总数
ZRANK key member:查询元素下标
ZSCORE key member:查询元素的score值

115.159.67.200:6379[1]> ZCARD ZSET01
(integer) 0
115.159.67.200:6379[1]> ZCOUNT zset01 60 90
(integer) 4
115.159.67.200:6379[1]> ZRANK zset01 v1
(integer) 0
115.159.67.200:6379[1]> ZRANK zset01 v2
(integer) 1
115.159.67.200:6379[1]> ZSCORE zset01 v1
"60"

ZREVRANK
ZREVRANK key member:逆序输出指定元素的索引值

115.159.67.200:6379[1]> ZRANGE zset01 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
115.159.67.200:6379[1]> ZREVRANK zset01 v1
(integer) 3
115.159.67.200:6379[1]> ZREVRANK zset01 v4
(integer) 0

ZREVRANGE / ZREVRANGEBYSCORE
ZREVRANGE key start stop [WITHSCORES]:逆序输出元素
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:逆序输出符合条件的元素

115.159.67.200:6379[1]> ZREVRANGE zset01 0 -1
1) "v4"
2) "v3"
3) "v2"
4) "v1"
115.159.67.200:6379[1]> ZREVRANGEBYSCORE zset01 90 60
1) "v4"
2) "v3"
3) "v2"
4) "v1"

这篇关于Redis五大数据结构之 ZSet 及其常见使用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924167

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功