天天看点

redis-06 五大基本类型之ZSet

目录

redis-06 五大基本类型之ZSet

概述

命令

增、删、改、查

根据排名获取元素

根据分数获取元素

增加元素分数

统计、删除指定范围元素

有序集合交集

实践

文章访问量

文章日期

Redis 中的有序集合在集合的基础上为每个元素都关联了一个分数,有了分数之后我们就能依据分数进行相应的操作(排序、插入、删除……),这一点似乎和链表很像,但是两者的区别却很大:

List 基于双向链表实现,而有序集合基于跳表实现(读取复杂度低);

List 中改变元素的位置很是麻烦(该表前驱节点啊、后续节点啊什么的),但是有序集合只需要改变元素的分数就能改变其位置。

zadd

新增或者修改(已存在的元素)元素和分数

zrem

zscore

查看元素分数

zrange

zrevrange

zrangeByScore

zrangeByScoreWithScores

同时返回元素值和分数

zincrby

提升元素分数

zcard

zcount

统计指定分数范围内元素个数

zremrangeByScore

zrank

获取元素排名,从 0 开始

zinterstore

执行交集处理后存储到新的有序集合

可以指定交集内元素分数的设置

最大

最小

两相同元素之和

文章 ID 作为元素内容,文章访问量作为元素分数,每次访问就加一。

文章 ID 作为元素内容,文章时间戳作为元素分数,可以实现修改和查看指定时间段的文章。