redis数据类型之ZSet
目录
一、简介
二、使用详解
三、总结
一、简介
ZSet,简称Sorted Set有序集合,和集合一样也是String类型元素的集合, 且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数Score。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 2^32 - 1(4294967295, 每个集合可存储40多亿个成员)。
和Set的区别:在Set基础上加上一个Score值,之前Set是k1 v1 v2 v3,现在ZSet是k1 score v1 score v2...。
下面通过一张表总结ZSet有序列表中常用命令:
命令 |
使用说明 |
zadd |
向集合中添加一个或者多个元素(score - value对) |
zrange |
获取集合中的元素,如果加上withscores则会连同分数一并返回 |
zrangebyscore |
返回指定分数范围的元素 |
zrem |
删除元素 |
zcard |
返回集合中元素个数 |
zcount |
统计集合中元素的分数在min和max之间的个数 |
zrank |
获取元素在集合中的排名 |
zscore |
获取有序集合中元素对应的分数值 |
zrevrank |
逆序获得下标值 |
zrevrange |
倒序返回集合中的元素 |
zrevrangebyscore |
倒序根据分数范围输出集合元素 |
二、使用详解
【a】zadd/zrange
- zadd:向集合中添加一个或者多个元素(score - value对);
- zrange:获取集合中的元素,如果加上withscores则会连同分数一并返回;
注意:withscores参数会将分数一起返回,如下图
【b】zrangebyscore
- zrangebyscore:返回指定分数范围的元素;
注意:符号“(” 表示不包含。
【c】zrem
- zrem:删除元素,注意删除不存在的元素返回0;
【d】zcard/zcount/zrank/zscore
- zcard :返回集合中元素个数;
- zcount:统计集合中元素的分数在min和max之间的个数;
- zrank:获取元素在集合中的排名,从小到大排序,最小的排名是0,如果元素不存在,则返回 nil;
- zscore:获取有序集合中元素对应的分数值,如果元素不存在,返回nil;
【e】zrevrank
- zrevrank:作用是逆序获得下标值;
【f】zrevrange
- zrevrange:倒序返回集合中的元素;
【g】zrevrangebyscore
- zrevrangebyscore:倒序根据分数范围输出集合元素,注意大的分数需要写在前面,小的分数写在后面;
三、总结
以上就是关于ZSet有序列表相关命令的学习总结,如有不对之处还望指正,相互学习,共同进步。
redis数据类型之ZSet相关推荐
- redis数据类型之zset(有序列表)
常规操作 127.0.0.1:6379> zadd score 95 zj #添加 zadd keyname score value (integer) 1 127.0.0.1:6379> ...
- Redis源码-ZSet:Redis ZSet存储原理、Redis ZSet命令、 Redis ZSet两种存储底层编码ziplist/dict+skiplist、Redis ZSet应用场景
Redis源码-ZSet:Redis ZSet存储原理.Redis ZSet命令. Redis ZSet两种存储底层编码ziplist/dict+skiplist.Redis ZSet应用场景 Red ...
- Redis五大数据类型(字符串对象(string)、列表对象(list)、哈希对象(hash)、无序集合(set)和Sorted Set数据类型(zset有序集合))
Redis五大数据类型 一.String(字符串)数据类型 1.SET/GET/APPEND/STRLEN 2.INCR/DECR/INCRBY/DECRBY 3.GETSET 4. SETEX 5. ...
- Redis 常用数据类型之 zset(有序集合)
Redis 常用数据类型之 zset(有序集合) 有序集合 zset(sorted-set)相关特性 redis 有序集合 zset 与 无序 set 类型的一样,都是 string 类型的集合元素, ...
- redis数据类型_认识Redis与Redis的数据类型
本文作为Redis的入门教程,旨在让大家对Redis有一个概念性和整体性的认识,并且可以快速上手,为深入Redis打下基础. 文章概要: 1. Redis的介绍 2. Redis与其他数据库的对比 3 ...
- Redis 数据类型之(底层解析)
Redis 数据类型之(底层解析) Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redi ...
- redis设置密码和启动 redis数据类型
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径.Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象. Redis运行在内存中 ...
- 【Redis】杂项基础知识;Redis数据类型
基础知识 Redis是一个内存数据库, 所有数据基本上都存在于内存当中, 会定时以追加或者快照的方式刷新到硬盘中. 由于redis是一个内存数据库, 所以读取写入的速度是非常快的, 所以经常被用来做数 ...
- Redis 学习---(4)Redis 数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- Redis数据类型详解(五种)
Redis支持五种数据类型,即string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合),云吞铺子分享Redis数据类型谅解: Redis数 ...
最新文章
- 自己写的程序密码功能 ------数字功能
- 清理多个varnish服务器缓存的脚本
- 在WINDOW 系统下如何用批处理命令生成代码
- 全球及中国现金自动化(管理)行业运作模式与前景趋势展望报告2022版
- C++STL的map/ multimap容器
- USACO Training Section 1.1 Your Ride Is Here
- Multi-thread--C++11多线程中std::call_once的使用
- vb.net 弹出对话框 修改按钮名_Microsoft Excel怎么批量快速修改批注?
- Mac上传代码到Github
- ASIHttpRequest没更新,MKNetWorKit更优越
- pythonwin下载中文版_Python官方下载 v3.9.0中文版_Win10镜像官网
- C# .NET 如何修改代码字体
- 蓝牙 AVRCP 剖析
- lua遍历目录下所有文件
- 关于signed main()不报超时与int main()报超时
- Win10激活失败的原因之一
- 数据库设计之数据字典的使用与设计
- 【整理】EFI/UEFI BIOS 入门 : All For Beginners
- 开关电源的共模干扰抑制技术
- 《途客圈创业记:不疯魔,不成活》一一2.8 正式上线
热门文章
- CNN 卷积神经网络 池化层Pooling 动手学深度学习v2 pytorch
- 算法:求数的幂次方powx-n
- Rosenbrock函数的梯度与海瑟矩阵
- hive 指定字段插入数据_Hive插入数据的几种常用方法
- 334.递增的三元子序列
- 创建运行时类的对象--Class.newInstance()
- r5处理器_买完笔记本特别的卡?那是因为你买笔记本之前,处理器没选对
- 【知识图谱系列】多关系异质图神经网络CompGCN
- [LeetCode][easy]Rank Transform of an Array
- 机器学习中的算法——决策树模型组合之随机森林与GBDT