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(交并差)

相关推荐
Davina_yu1 分钟前
1、count(*)、count(1) 和 count(单个字段) 的区别
数据库
锦衣夜行?1 分钟前
Oracle 数据库安装失败清理残留步骤
数据库·oracle
时间售卖铺15 分钟前
MySQL 表的约束
运维·数据库·mysql·云原生
一条泥憨鱼20 分钟前
【Redis | 黑马点评】基于Redis的消息队列 | stream消息队列 源码解读
java·数据库·redis·缓存·lua
CodeGL20 分钟前
9、Python基础之IO编程
开发语言·数据库·python
每天一道题22 分钟前
Redis 缓存为什么会出问题?穿透、击穿、雪崩与缓存一致性
数据库·redis·缓存
tongyiixiaohuang1 小时前
物料成本核算单同步返回信息策略实战教程:从金蝶云星空回写 MySQL 的闭环设计
数据库·mysql
Qianxueban1 小时前
pexpire key底层逻辑是如何实现这个延迟功能?
redis
星云低代码开发平台1 小时前
AI 工作台记录删除与业务审计留存:三层数据边界设计
数据库·人工智能·架构
code_slave(码畜)1 小时前
微服务架构落地:分库分表实战(下) —— 分布式主键、跨分片查询与分页聚合防坑
数据库·spring boot·分布式·spring cloud·微服务·架构·分库分表