首页 > 数据库 >6.Redis系列之常用数据类型有序集合Zset

6.Redis系列之常用数据类型有序集合Zset

时间:2022-10-31 20:55:27浏览次数:78  
标签:127.0 Zset 0.1 数据类型 top Redis 6379 有序 集合

本文学redis常用数据类型有序集合Zset基本操作与底层数据结构

1. 基本操作

# zadd <key> <score> <member>将多个member元素及其score值加入有序集合key中
127.0.0.1:6379> zadd top 100 java 99 python 98 vue
(integer) 3
# zrange由小到大返回有序集合指定下标内元素
# zrange <key> <start> <stop>
127.0.0.1:6379> zrange top 0 -1
1) "vue"
2) "python"
3) "java"
# zrevrange由大到小返回有序集合指定下标内元素
127.0.0.1:6379> zrevrange top 0 -1
1) "java"
2) "python"
3) "vue"
# zrange返回有序集合指定下标内元素及评分
127.0.0.1:6379> zrange top 0 -1 WITHSCORES
1) "vue"
2) "98"
3) "python"
4) "99"
5) "java"
6) "100"
# zrangebyscore返回有序集合指定评分范围内元素
127.0.0.1:6379> zrangebyscore top 99 100
1) "python"
2) "java"
# zincrby <key> <increment> <member> 给有序集合中元素评分+增量
127.0.0.1:6379> zincrby top 1 python
"100"
# zrem删除有序集合中元素
127.0.0.1:6379> zrem top vue
(integer) 1
# zcount统计有序集合指定评分范围内数量
127.0.0.1:6379> zcount top 100 100
(integer) 2
# zrank返回有序集合中元素排名
127.0.0.1:6379> zrank top python
(integer) 1

3. 底层数据结构

127.0.0.1:6379> object encoding top
"listpack"
127.0.0.1:6379> zadd top 96 mysql 95 mongo 94 elasticsearch 93 clickhouse 92 spark 91 k8s2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
(integer) 1
127.0.0.1:6379> object encoding top
"skiplist"

由上可知,Zset底层数据结构为压缩列表listpack和跳跃表skiplist[结构如下图]

1

欢迎关注公众号算法小生沈健的技术博客查看最新文章

标签:127.0,Zset,0.1,数据类型,top,Redis,6379,有序,集合
From: https://www.cnblogs.com/shenjian-online/p/16845758.html

相关文章

  • redis 安装
    基于CenterOS7安装Redis下载安装包   wgethttp://download.redis.io/releases/redis-5.0.0.tar.gz解压安装包    tar–xvfredis-5.0.0.tar.gz编译(在解压......
  • 非关系型数据库 之 Key-Value数据库 Redis的使用(Python3)
    文章目录​​1、Redis简介​​​​1.1、简述​​​​1.2、特点​​​​1.3、优势​​​​2、CentOS操作Redis​​​​2.1、安装启动​​​​2.1.1、安装​​​​2.1.2、......
  • 注释,标识符,数据类型笔记
    注释单行注释:只能注释当前行,以//开始,直到行结束//输出HelloWorld!多行注释:注释一段文字,以/开始,/结束!/*这是我们Java程序的主入口,main方法也是程序的主线程。*/文......
  • Redis实现分布式锁
    importredisimporttimeS_REDIS=redis.Redis(host='10.127.0.0',port='8088',db=9,password='test',decode_responses=True,retry_o......
  • redis限流和滑动窗口限流
     一、redissetnx实现限流 比如我们需要在10秒内限定20个请求,那么我们在setnx的时候可以设置过期时间为当前时间戳+10s,使用setnx设置20个互不相同的key,当请求的s......
  • Redis系列8:Bitmap实现亿万级数据计算
    Redis系列1:深刻理解高性能Redis的本质Redis系列2:数据持久化提高可用性Redis系列3:高可用之主从架构Redis系列4:高可用之Sentinel(哨兵模式)Redis系列5:深入分析Cluster集......
  • 3主3从redis集群扩缩容配置案例
    1、环境准备#关闭防火墙systemctlstopfirewalld#查看防火墙状态systemctlstatusfirewalld#拉取redis:6.0.8镜像dockerpullredis:6.0.8  2、新建6个doc......
  • Redis学习十一:Redis持久化
    文章目录​​一、RDB(RedisDataBase)​​​​1.1触发机制​​​​1.2如果恢复rdb文件!​​​​1.3优缺点​​​​二、AOF(AppendOnlyFile)​​​​2.1是什么​​​​2.2appen......
  • Redis学习四:测试性能
    文章目录​​一、使用自带测试工具redis-benchmark​​​​二、测试:100个并发连接100000请求​​一、使用自带测试工具redis-benchmarkredis-benchmark是一个压力测试工具......
  • 通过抓包研究redis连接问题记录
    一、研究问题1:redis配置文件设置了选项timeout后,是否会导致大量close_wait状态连接注:redis配置文件timeout选项说明如下#Closetheconnectionafteraclientisidle......