温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

redis有序集合命令的介绍

发布时间:2020-07-01 14:19:29 来源:亿速云 阅读:143 作者:元一 栏目:关系型数据库

本篇文章给大家分享的是有关redis有序集合命令的介绍,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

有序集合命令的实现方法

命令ziplist 编码的实现方法zset 编码的实现方法
ZADD调用 ziplistInsert 函数,将成员和分值作为两个节点分别插入到压缩列表先调用 zslInsert 函数,将新元素添加到跳跃表,然后调用 dictAdd 函数,将新元素关联到字典
ZCARD调用 ziplistLen 函数,获得压缩列表包含节点的数量,将这个数量除以2得出集合元素的数量访问跳跃表数据结构的 length 属性,直接访问集合元素的数量
ZCOUND遍历压缩列表,统计分值在给定范围内的节点的数量遍历跳跃表,统计分值在给定范围内的节点的数量
ZRANGE从表头向表尾遍历压缩列表,返回给定索引范围内的所有元素从表头向表尾遍历跳跃表,返回给定索引范围内的所有元素
ZREVRANGE表尾向表头遍历压缩列表,返回给定索引范围内的所有元素从表尾向表头遍历跳跃表,返回给定索引范围的所有元素
ZRANK从表头向表尾遍历压缩列表,查找给定的成员,沿途记录经过节点的数量,当找到给定成员之后,沿途节点的数量就是该成员所对应元素的排名从表头向表尾遍历跳跃表,查找给定的成员,沿途记录经过节点的数量,当找到给定成员之后,沿途节点的数量就是该成员所对应元素的排名
ZREVRANK从表尾向表头遍历压缩列表,查找给定的成员,沿途记录经过节点的数量,当找到给定成员之后,沿途节点的数量就是该成员所对应元素的排名从表尾向表头遍历跳跃表,查找给定的成员,沿途纪录经过节点的数量,当找到给定成员之后,沿途节点的数量就是该成员所对应元素的排名
ZREM遍历压缩列表,删除所有包含给定成员的节点,以及被删除成员节点旁边的分值节点遍历跳跃表,删除所有包含了给定成员的跳跃表节点。并在字典中解除被删除元素的成员和分值关联
ZSCORE遍历压缩列表,查找包含了给定成员的节点,然后取出成员节点旁边的分值节点保存的元素分值直接从字典中取出给定成员的分值

以上就是redis有序集合命令的介绍,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI