枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述redis 操作zset 有序集合常用命令相关的知识,希望能为你提供帮助。
有序集合类型(Zset)Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。
不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。
zadd
语法:zadd key [NX|XX] [CH] [INCR] score member [score member…]
ZADD 参数(options) (>
= Redis 3.0.2)
ZADD 命令在key后面分数/成员(score/member)对前面支持一些参数,他们是:
XX: 仅仅更新存在的成员,不添加新成员。
NX: 不更新存在的成员。只添加新成员。
CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意 思)。
更改的元素是新添加的成员,已经存在的成员更新分数。 所以在命令中指定的成员有相同的分 数将不被计算在内。
注:在通常情况下,ZADD返回值只计算新添加成员的数量。
INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。
zincrby
语法:ZINCRBY key increment member
作用:对有序集合中指定成员的分数加上增量 increment
可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。
当 key 不存在,或分数不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。
分数值可以是整数值或双精度浮点数。
zrange
语法:zrange key startIndex endIndex [WITHSCORES]
功能:查询有序集合,指定区间的内的元素。集合成员按score值从小到大来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回。
返回值:指定区间的成员组成的集合。
zrangebyscore
语法:zrangebyscore key min max [WITHSCORES ]
[LIMIT offset count]
功能:获取有序集
key 中,所有
score 值介于
min 和
max 之间(包括min和max)的成员,有序成员是按递增(从小到大)排序;
使用符号”(“ 表示包括min但不包括max;
withscores 显示score和 value;
limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。
返回值:指定区间的集合数据
zrevrange
语法:zrevrange key startIndex
endIndex
[WITHSCORES]
功能:查询有序集合,指定区间的内的元素。集合成员按score值从大到小来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回。
返回值:指定区间的成员组成的集合。
zrevrangebyscore
语法:zrevrangebyscore key max min
[WITHSCORES ]
[LIMIT offset count]
功能:获取有序集
key 中,所有
score 值介于
max
和
min
之间(包括max和min)的成员,有序成员是按递减(从大到小)排序;
使用符号”(“ 表示不包括min和max;
withscores 显示score和 value;
limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。
【redis 操作zset 有序集合常用命令】返回值:指定区间的集合数据
zrem
语法:zrem key member [member…]
功能:删除有序集合
key 中的一个或多个成员,不存在的成员被忽略。
返回值:被成功删除的成员数量,不包括被忽略的成员。
zcard
语法:zcard key
作用:获取有序集
key 的元素成员的个数。
返回值:key存在,返回集合元素的个数; key不存在,返回0。
zcount
语法:zcount key min max
功能:返回有序集
key
中,
score
值在
min
和
max
之间(包括
score
值等于
min
或
max
)的成员的数量。
返回值:指定有序集合中分数在指定区间内的元素数量。
zrank
语法:zrank key member
功能:获取有序集
key 中成员
member 的排名,有序集成员按
score 值从小到大顺序排列,从0开始排名,score最小的是0 。
返回值:指定元素在有序集合中的排名;如果指定元素不存在,返回nil。
zrevrank
语法:zrevrank key member
功能:获取有序集
key 中成员
member 的排名,有序集成员按
score 值从大到小顺序排列,从0开始排名,score最大的是0 。
返回值:指定元素在有序集合中的排名;如果指定元素不存在,返回nil。
zscore
语法:zscore key member
功能:获取有序集合key中元素member的分数。
返回值:返回指定有序集合元素的分数。
推荐阅读
- 鸿蒙轻内核M核源码分析(LibC实现之Musl LibC)
- 第九周学习作业
- redis 集合 set操作命令
- WebAssembly环境解析
- redis 哈希 hash 常用操作
- docker-容器镜像(容器中的文件系统)
- docker-cgroup资源限制
- 编译安装http2.4,实现可以正常访问
- 利用sed 取出ifconfig命令中本机的IPv4地址