目录
redis-06 五大基本类型之ZSet
概述
命令
增、删、改、查
根据排名获取元素
根据分数获取元素
增加元素分数
统计、删除指定范围元素
有序集合交集
实践
文章访问量
文章日期
Redis 中的有序集合在集合的基础上为每个元素都关联了一个分数,有了分数之后我们就能依据分数进行相应的操作(排序、插入、删除……),这一点似乎和链表很像,但是两者的区别却很大:
List 基于双向链表实现,而有序集合基于跳表实现(读取复杂度低);
List 中改变元素的位置很是麻烦(该表前驱节点啊、后续节点啊什么的),但是有序集合只需要改变元素的分数就能改变其位置。
zadd
新增或者修改(已存在的元素)元素和分数
zrem
zscore
查看元素分数
zrange
zrevrange
zrangeByScore
zrangeByScoreWithScores
同时返回元素值和分数
zincrby
提升元素分数
zcard
zcount
统计指定分数范围内元素个数
zremrangeByScore
zrank
获取元素排名,从 0 开始
zinterstore
执行交集处理后存储到新的有序集合
可以指定交集内元素分数的设置
最大
最小
两相同元素之和
文章 ID 作为元素内容,文章访问量作为元素分数,每次访问就加一。
文章 ID 作为元素内容,文章时间戳作为元素分数,可以实现修改和查看指定时间段的文章。