Redis的value类型介绍——zset

zset是有序的set集合,这个有序和list不一样,这个zset通常是升序/降序,排列的规则是赋予元素中的权重,比如分数。对于zset的元素要求仍然是互异的。

zset命令

1.zadd

添加的时候,既要添加元素,也要添加分数(权重)(pair)

xx:只更新元素的权重 nx只添加没有的元素,不做更新

lt:只更新以存在的元素权重,只有新权重比旧权重小才会更新,不会阻止添加新元素

gt:大了才更新

ch:不仅返回新增元素个数,还会返回被修改的元素个数

incr:基于现有的元素进行运算

如果什么选项都不带,就是无元素则添加,有元素则更新。

  1. zcard key 返回zset元素个数

3.zcount key min max 返回权重在范围[min,max] 的元素个数,如果想排除边界可以写成(min,(max,还有一个类似命令,zrangebyscore,根据分数找元素

4.zrange key start stop [withscore] :返回下标范围内的元素(已排序) 加上选项就是带着权重一起返回

5.zpopmax key [count] 删除分数最高的元素(count个)(如果分数相同会根据member字典序排序)

6.bzpopmax key [key2...] timeout 阻塞版本的zpopmax

7.zpopmin,bzpopmin同理

8.zrank key member 获取member在zset的排名(下标)

9.zscore key member获取member的分数

10.zrem key member [member...] 删除元素

  1. zincrby key n element 给element元素分数加n

12.zinter、zunion、zdiff(交并差)

相关推荐
银发控、10 小时前
MySQL联合索引
数据库·mysql
予枫的编程笔记10 小时前
【MySQL修炼篇】从踩坑到精通:事务隔离级别的3大异常(脏读/幻读/不可重复读)解决方案
数据库·mysql·后端开发·数据库事务·事务隔离级别·rr级别·脏读幻读不可重复读
睡美人的小仙女12710 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
徐同保11 小时前
解决 Vue 3 项目 TypeScript 编译错误:@types/lodash 类型定义不兼容
redis·网络协议·https
一起养小猫12 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
世界尽头与你12 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试
韩立学长12 小时前
【开题答辩实录分享】以《智能大学宿舍管理系统的设计与实现》为例进行选题答辩实录分享
数据库·spring boot·后端
Henry Zhu12312 小时前
数据库(五):反规范化
数据库
Mr_Xuhhh12 小时前
MySQL函数详解:日期、字符串、数学及其他常用函数
java·数据库·sql
he___H13 小时前
Redis高级数据类型
数据库·redis·缓存