Redis(八):Zset有序集合数据类型详解
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
实例
redis 127.0.0.1:6379> ZADD runoobkey 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD runoobkey 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"
Zset在set的基础上加了一个值
1、Zset有序集合常用命令
1.1、zadd
127.0.0.1:6379> zadd mysset 1 one
(integer) 1
127.0.0.1:6379> zadd mysset 2 two 3 three
(integer) 2
127.0.0.1:6379> ZRANGE mysset 0 -1
1) "one"
2) "two"
3) "three"
1.2、ZRANGEBYSCORE
127.0.0.1:6379> zadd salary 2500 xiaohong
(integer) 1
127.0.0.1:6379> zadd salary 5000 zhang3
(integer) 1
127.0.0.1:6379> zadd salary 500 lizhenhi
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf //按照从小到大排序
1) "lizhenhi"
2) "xiaohong"
3) "zhang3"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf withscores //按照从小到大排序,并且附带值
1) "lizhenhi"
2) "500"
3) "xiaohong"
4) "2500"
5) "zhang3"
6) "5000"
127.0.0.1:6379> ZREVRANGE salary 0 -1 //从大到小进行排列
1) "zhang3"
2) "lizhenhi"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf 2500 withscores //判断小于固定值的降序排列
1) "lizhenhi"
2) "500"
3) "xiaohong"
4) "2500"
127.0.0.1:6379>
1.3、zrem
127.0.0.1:6379> ZRANGE salary 0 -1
1) "lizhenhi"
2) "xiaohong"
3) "zhang3"
127.0.0.1:6379> ZREM salary xiaohong //移除xiaohong
(integer) 1
127.0.0.1:6379> ZRANGE salary 0 -1
1) "lizhenhi"
2) "zhang3"
1.4、ZCARD
127.0.0.1:6379> ZCARD salary //获取有序集合中的个数
(integer) 2
1.5、ZCOUNT
127.0.0.1:6379> ZCOUNT salary 0 5000 //查询固定区间的长度
(integer) 2
Redis(八):Zset有序集合数据类型详解相关推荐
- redis的数据结构||1) 字符串类型2) 哈希类型3) 列表类型4) 集合类型 5) 有序集合类型详解
2. 下载安装 1. 官网:https://redis.io 2. 中文网:http://www.redis.net.cn/ 3. 解压直接可以使用: * re ...
- 【Redis学习】:string数据类型详解
什么是NoSQL NoSQL,即Not Only SQL,意为不仅仅是SQL,是一项全新的数据库理念,泛指非关系型的数据库. 为什么需要NoSQL 1.对数据库高并发读写的需求 2.对海量数据的高效率 ...
- Redis(六):Set集合数据类型详解
Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1). 集 ...
- Redis(五):List集合数据类型详解
Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个 ...
- Redis数据类型详解(五种)
Redis支持五种数据类型,即string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合),云吞铺子分享Redis数据类型谅解: Redis数 ...
- redis 数据类型详解 以及 redis适用场景场合
redis 数据类型详解 以及 redis适用场景场合 1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访 ...
- Redis入门 - 数据类型:5种基础数据类型详解
Redis所有的key(键)都是字符串.我们在谈基础数据结构时,讨论的是存储值的数据类型,主要包括常见的5种数据类型,分别是:String.List.Set.Zset.Hash Redis入门 - 数 ...
- Redis之数据类型详解分析
文章目录 1 Redis 1.1 概述 1.2 查看内部编码 1.3 String字符串 1.3.1 简介 1.3.2 应用常景 1.3.3 String内部编码 1.4 Hash散列 1.4.1 简 ...
- Redis Zset有序集合
Redis Zset有序集合 1.zadd 添加一个或多个值 并且区分SCORE 2.zrange 返回有序集合区间 3.zrangebyscore 通过分数score排名,从低到高 4.Zrevra ...
最新文章
- iOS 设置View阴影
- mysql的日期差值按天表示_MySql计算日期差值和常用sql
- ABAP的OPEN SQL和Hybris Commerce的Flexible Search简介
- 【Python】Matplotlib绘制极坐标雷达图
- 真正的mybatiesPlus一键生成模板(根据对象增删改查分页的controller完善)详
- vscode为各自项目添加launch和setting
- dw cc链接mysql_Adobe Dreamweaver CC MySQL连接 报404错误的解决方法_MySQL
- 联想拯救者Y9000P安装ubuntu22.04和安装anaconda教程
- 使用COOC软件绘制复杂网络
- 车牌号识别依托OCR文字识别核心
- 如何成为优秀的驱动开发工程师
- 记录将pycharm中的caches缓存文件转移到D盘
- 中国最小黑客:为不做作业 黑掉学校系统
- LoadRunner中think time详解
- 基于51单片机的RFID一卡通刷卡扣费充值系统设计原理图程序设计
- Android - 接收、监听系统短信广播
- 用html语言编写笑脸,怎么使用HTML5中的Canvas绘制笑脸
- 深度学习模型压缩与优化加速
- 韦伯望远镜拍摄图片震撼来袭!!
- Anchor-free的目标检测文章
热门文章
- anaconda+python3.7安装keras_win10(64)+python3.7+Anaconda3+tensorflow-cpu+Keras安装(亲测有效)...
- oracle 12.2 启用分片,关于Oracle Sharding,你想知道的都在这里
- Python while循环 - Python零基础入门教程
- 网格变形动画MeshTransform
- c语言鼠标环绕特效,C语言写的鼠标有残影,急需解决方案,在线等待!
- opencv imread后做resizie_opencv第1课-加载、修改、保存图像
- a33 linux内核启动网卡,a33核心板启动问题 - nevermore1981的个人空间 - OSCHINA - 中文开源技术交流社区...
- 您已从远程计算机注销,您无法从 Windows Server 2008 R2 中的远程桌面会话注销
- github流程图_逆天插件,VSCode里也能画流程图了?Visio可以淘汰了?
- mysql的使用优化问题吗_如何对 mysql 进行优化的问题