Redis之有序集合(Zset)

摘要:
序列号命令和描述1ZADDkeyscore1member1[score2member2]将一个或多个成员添加到有序集合。

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

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

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

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

下表列出了有序集合的基本常用命令:

序号命令及描述
1ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
2ZCARD key
获取有序集合的成员数
3ZCOUNT key min max
计算在有序集合中指定区间分数的成员数
4ZINCRBY key increment member
有序集合中对指定成员的分数加上增量 increment
5ZINTERSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
6ZLEXCOUNT key min max
在有序集合中计算指定字典区间内成员数量
7ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合指定区间内的成员
8ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合的成员
9ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
通过分数返回有序集合指定区间内的成员
10ZRANK key member
返回有序集合中指定成员的索引
11ZREM key member [member ...]
移除有序集合中的一个或多个成员
12ZREMRANGEBYLEX key min max
移除有序集合中给定的字典区间的所有成员
13ZREMRANGEBYRANK key start stop
移除有序集合中给定的排名区间的所有成员
14ZREMRANGEBYSCORE key min max
移除有序集合中给定的分数区间的所有成员
15ZREVRANGE key start stop [WITHSCORES]
返回有序集中指定区间内的成员,通过索引,分数从高到低
16ZREVRANGEBYSCORE key max min [WITHSCORES]
返回有序集中指定分数区间内的成员,分数从高到低排序
17ZREVRANK key member
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
18ZSCORE key member
返回有序集中,成员的分数值
19ZUNIONSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的并集,并存储在新的 key 中
20ZSCAN key cursor [MATCH pattern] [COUNT count]
迭代有序集合中的元素(包括元素成员和元素分值)

免责声明:文章转载自《Redis之有序集合(Zset)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信小程序中使用Vant Weapp的ActionSheet上拉菜单出现的样式问题linux 安装nginx下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

系统基础模块之通用字典项目管理

我们在很多系统中,往往需要维护很多字典项目,一般的字典项目包含有一个大类名称、字典项目名称、字典值、排序、编辑者、编辑时间等字段,这些内容往往大同小异,如在车辆管理中,我们可能需要维护:车辆类型、车辆品牌、车辆用途、路途类别、用车评价、车辆状态等等信息,这些是很简单的数据,用来给业务功能使用的,是一个下拉列表形的数据,如果我们为每个这样的简单类型都创建一个...

powershell初探(三)

  这篇将真正开始ps之旅,第一个要介绍的就是$(dolar),$是一个神奇的符号(不是因为他可以一折吃喝玩乐)   ps里当你需要一个临时的变量去存储结果(表达式的输出或者函数的返回值),那么就可以用"$"+变量名的形式去定义一个临时的容器。就像一个临时工一样,而临时工是无所不能的,可以在任何需要他们背黑锅的地方出现。临时变量也是一样,他可以接受任何类型...

基于SpringBoot 、AOP与自定义注解转义字典值

  一直以来,前端展示字典一般以中文展示为主,若在表中存字典值中文,当字典表更改字典值对应的中文,会造成数据不一致,为此设置冗余字段并非最优方案,若由前端自己写死转义,不够灵活,若在业务代码转义,臃肿也不够通用,从网络上了解到注解、AOP是一种不错的解决方案,主要有两种方式:   1、通过注解获取结果集转为JSON字符串,通过正则查找附加字段;   2、通...

Hyperledger Fabric Endorsement policies——背书策略

背书策略 背书策略用于指导peer如何确定交易是否得到了的认可。当一个peer接收到一个事务时,它会调用与事务的Chaincode相关联的VSCC(验证系统链代码),作为事务验证流程的一部分,以确定交易的有效性。一个交易包含了一个或多个peer背书节点中的背书支持。VSCC的任务是做出以下决定: 所有的背书都是有效的(也就是说,它们是有效的签名,而不是预...

C++ 类的存储方式以及虚函数表

一、C++成员函数在内存中的存储方式   用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如下图所示。         能否只用一段空间来存放这个共同的函数代码段,在调用各对象的函数时,都去...

群签名方案CS97

基础知识 http://baike.baidu.cn/view/3080709.htm http://en.wikipedia.org/wiki/Group_signature 群签名的安全性要求 1) 匿名性(Anonymity)      给定一个群签名后,对除了唯一的群管理员以外的任何人来说,确定签名者的身份是不可行的,至少在计算上是困难的。...