目录

一、简介

二、使用详解

三、总结


一、简介

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有序列表中常用命令:

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相关推荐

  1. redis数据类型之zset(有序列表)

    常规操作 127.0.0.1:6379> zadd score 95 zj #添加 zadd keyname score value (integer) 1 127.0.0.1:6379> ...

  2. 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 ...

  3. 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. ...

  4. Redis 常用数据类型之 zset(有序集合)

    Redis 常用数据类型之 zset(有序集合) 有序集合 zset(sorted-set)相关特性 redis 有序集合 zset 与 无序 set 类型的一样,都是 string 类型的集合元素, ...

  5. redis数据类型_认识Redis与Redis的数据类型

    本文作为Redis的入门教程,旨在让大家对Redis有一个概念性和整体性的认识,并且可以快速上手,为深入Redis打下基础. 文章概要: 1. Redis的介绍 2. Redis与其他数据库的对比 3 ...

  6. Redis 数据类型之(底层解析)

    Redis 数据类型之(底层解析) Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redi ...

  7. redis设置密码和启动 redis数据类型

    Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径.Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象. Redis运行在内存中 ...

  8. 【Redis】杂项基础知识;Redis数据类型

    基础知识 Redis是一个内存数据库, 所有数据基本上都存在于内存当中, 会定时以追加或者快照的方式刷新到硬盘中. 由于redis是一个内存数据库, 所以读取写入的速度是非常快的, 所以经常被用来做数 ...

  9. Redis 学习---(4)Redis 数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  10. Redis数据类型详解(五种)

    Redis支持五种数据类型,即string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合),云吞铺子分享Redis数据类型谅解: Redis数 ...

最新文章

  1. 自己写的程序密码功能 ------数字功能
  2. 清理多个varnish服务器缓存的脚本
  3. 在WINDOW 系统下如何用批处理命令生成代码
  4. 全球及中国现金自动化(管理)行业运作模式与前景趋势展望报告2022版
  5. C++STL的map/ multimap容器
  6. USACO Training Section 1.1 Your Ride Is Here
  7. Multi-thread--C++11多线程中std::call_once的使用
  8. vb.net 弹出对话框 修改按钮名_Microsoft Excel怎么批量快速修改批注?
  9. Mac上传代码到Github
  10. ASIHttpRequest没更新,MKNetWorKit更优越
  11. pythonwin下载中文版_Python官方下载 v3.9.0中文版_Win10镜像官网
  12. C# .NET 如何修改代码字体
  13. 蓝牙 AVRCP 剖析
  14. lua遍历目录下所有文件
  15. 关于signed main()不报超时与int main()报超时
  16. Win10激活失败的原因之一
  17. 数据库设计之数据字典的使用与设计
  18. 【整理】EFI/UEFI BIOS 入门 : All For Beginners
  19. 开关电源的共模干扰抑制技术
  20. 《途客圈创业记:不疯魔,不成活》一一2.8 正式上线

热门文章

  1. CNN 卷积神经网络 池化层Pooling 动手学深度学习v2 pytorch
  2. 算法:求数的幂次方powx-n
  3. Rosenbrock函数的梯度与海瑟矩阵
  4. hive 指定字段插入数据_Hive插入数据的几种常用方法
  5. 334.递增的三元子序列
  6. 创建运行时类的对象--Class.newInstance()
  7. r5处理器_买完笔记本特别的卡?那是因为你买笔记本之前,处理器没选对
  8. 【知识图谱系列】多关系异质图神经网络CompGCN
  9. [LeetCode][easy]Rank Transform of an Array
  10. 机器学习中的算法——决策树模型组合之随机森林与GBDT