Redis 有序集合

来源:互联网 发布:微信网络小胖表情包 编辑:程序博客网 时间:2024/06/04 18:56
ZADD
ZADD key score member [[score ][socre member]...]
将一个或多个member元素及其score值加入到有序集合key当中
如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过
重新
插入这个 member 元素,来保证该 member 在正确的位置上。
score 值可以是整数值或双精度浮点数。
如果key不存在,则创建一个空的有序集并执行ZADD操作。
当key存在,但是不有序集时,返回一个错误
返回值
被成功添加的新成员的数量,不包括被更新的、一已经存在的成员

ZCARD
ZCARD key
返回有序集key的基数
返回值
当key存在且是有序集类型时,返回有序集的基数
当key不存在时,返回0

ZCOUNT
ZCOUNT key min max
返回有序集key中,score值在min和max之间的成员数量
返回值
score值在min和max之间的成员数量

ZINCRBY
ZINCRBY key increment member
为有序集key的成员member的score值加上增量increment
可以通过传递一个负数值 increment ,让 score 减去相应的值,比如 ZINCRBY key -5
member ,就是让 member 的 score 值减去 5。
当key不存在,或member不是key的成员时,ZINCRBY key increment member 等同
于 ZADD key increment member
当key不是有序集类型时,返回一个错误。
返回值
member 成员的新 score 值,以字符串形式表示。

ZRANGE
ZRANGE key start stop [WITHSCORES]
返回有序集key中,指定区间内的成员
其中成员的排序按score值递增来排序
具有相同score值的按字典序来排列
如果需要成员按scorez值递减排序,需使用ZREVANGE命令
start和stop参数都以0为下标 0代表第一个元素 ;-1代表最后一个元素、
如果start > stop 则redis返回空列表。
如果stop大于最大值 则按最大值来处理。
可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以
value1,score1, ..., valueN,scoreN 的格式表示。客户端库可能会返回一些更复杂的数据
类型,比如数组、元组等。
返回值
指定区间内,带有 score 值(可选)的有序集成员的列表。

ZRANGEBYSCORE
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集key中,所有score值介于min和max的成员。有序集按score值递增来排序。
具有相同score值的按字典序来排列。
可选的 LIMIT 参数指定返回结果的数量及区间(就像SQL中的 SELECT LIMIT offset,
count ),注意当 offset 很大时,定位 offset 的操作可能需要遍历整个有序集,此过程最
坏复杂度为 O(N) 时间。
可选的 WITHSCORES 参数决定结果集是单单返回有序集的成员,还是将有序集成员及其
score 值一起返回。
区间及无限
min和max可以使 -inf 和 +inf ,这样就可以在不知道有序集的最低和最高score时,使
用ZRANGEBYSCORE这类命令
默认情况下,区间的取值使用闭区间(小于等于或大于等于),也可以通过给参数前增加 `(`
符号 (小于或大于)
返回值
指定区间内,带有 score 值(可选)的有序集成员的列表。

ZRANK
ZRANK key member
返回有序集key中成员member的排名。其中有序集按score值递增来排序。
排名以 0 为底,也就是说, score 值最小的成员排名为 0 。
使用 ZREVRANK 命令可以获得成员按 score 值递减(从大到小)排列的排名
返回值
如果 member 是有序集 key 的成员,返回 member 的排名。
如果 member 不是有序集 key 的成员,返回 nil 。

ZREM
ZREM key member [member...]
移除有序集key中的一个或多个成员,不存在的成员被忽略
当key存在但不是有序集是,返回一个错误。
返回值
被成功移除的成员的数量,不包括被忽略的成员。

ZREMRANGEBYRANK
ZRAMRANGEBYRANK key start stop
移除有序集key中,指定排名(rank)区间内的所有成员
区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。
下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示
有序集第二个成员,以此类推。也可以使用负数下标,以 -1 表示最后一个成员, -2 表
示倒数第二个成员,以此类推。
返回值
被移除成员的数量

ZREMRANGEBYSCORE
ZREMRANGESCORT key min max
移除有序集key中,所有score值介于min和max之间(包括等于min和max)的成员
自版本2.1.6开始, score 值等于 min 或 max 的成员也可以不包括在内,详情请参见
ZRANGEBYSCORE 命令。
返回值
被移除成员的数量

ZRAVRANGE
ZRAVRANGE key start stop [WITHSCORES]
返回有序集key中,指定区间内的成员
其中成员的位置按 score 值递减(从大到小)来排列。
具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。
除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和
ZRANGE 命令一样。
返回值
指定区间内,带有score值(可选)的有序集成员的列表。

ZRAVRANGEBYSCORE
ZRAVRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所
有的成员。有序集成员按 score 值递减(从大到小)的次序排列。
具有相同 score 值的成员按字典序的逆序(reverse lexicographical order )排列。
除了成员按 score 值递减的次序排列这一点外, ZREVRANGEBYSCORE 命令的其他方
面和 ZRANGEBYSCORE 命令一样。
返回值
指定区间内,带有 score 值(可选)的有序集成员的列表。

ZRAVRANK
ZRARANK key member
返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)
排序。
排名以 0 为底,也就是说, score 值最大的成员排名为 0 。
使用 ZRANK 命令可以获得成员按 score 值递增(从小到大)排列的排名。
返回值
如果 member 是有序集 key 的成员,返回 member 的排名。
如果 member 不是有序集 key 的成员,返回 nil。

ZSCORE
ZSCORE key member
返回有序集key中,成员member和score值
如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil。
返回值
member成员个score值,以字符串形式表示。

ZUNIONSTORE
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]
[AGGREGATE SUM|MIN|MAX]
计算给定的一个或多个有序集的并集,其中给定key的数量必须以numkeys参数指定,
并将该并集(结果集)存储到destination。
默认情况下,结果集中某个成员的score值是所有给定集下该成员score值之和。
WEIGHTS
使用WEIGHTS选项,你可以为每个给定有序集 分别 指定一个乘法因子,每个给定成员的
score值在传递个聚合函数之前都要先乘以该有序集的因子。
如果没有制定WEIGHTS选项,乘法因子默认值为1。
AGGREGATE
使用AGGREGATE选项,你可以指定并集的结果集的聚合方式。
默认使用的参数SUM,可以将所有集合中某个成员的score值之和作为结果集中该成员的
score值;使用参数MIN,可以将所有集合中某个成员的最小score值作为结果集中该成
员的score值;而参数MAX与MIN相反。
返回值
保存到destination的结果集的基数

ZINTERSTORE
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]
[AGGREGATE SUM|MIN|MAX]
计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指
定,并将该交集(结果集)储存到 destination 。
默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之和.
关于 WEIGHTS 和 AGGREGATE 选项的描述,参见 ZUNIONSTORE 命令。
返回值
保存到destination的结果集的基数

ZSCAN
ZSCAN key cursor [MATCH pattern] [COUNT count]
详细信息请参考 SCAN 命令。














0 0