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

相关推荐
Zixhy1 小时前
手撕Reactor模型实现同步高并发服务器及Muduo网络库深入解析
linux·服务器·网络·数据库·c++
程序员清风8 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
天衍四九-8 小时前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql
尚久龙8 小时前
mysql-5.7.26-winx64的安装步骤
数据库·mysql
医疗信息化王工8 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
实心儿儿8 小时前
MySQL 的安装
数据库·mysql·adb
程序员阿鹏10 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
瀚高PG实验室11 小时前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
码哥字节12 小时前
AI一天出百本书,写不出我被Redis坑的那三天三夜
redis·ai编程工具
yanwumuxi13 小时前
【数据库系列】opensearch数据备份和恢复
数据库