AROP
对范围内的数组元素执行聚合操作。
语法
AROP key start end
引入版本:8.8.0
复杂度摘要:O(P)
对范围内的数组元素执行聚合操作。
必需参数
key
保存数组的键的名称。
start
要聚合的范围中第一个元素的从零开始的整数索引。
end
要聚合的范围(含)中最后一个元素的从零开始的整数索引。无论参数顺序如何,该命令始终从较低的索引到较高的索引进行扫描。
operation
应用于 [start, end] 中所有非空元素的聚合函数。其中之一:
SUM— 以批量字符串形式返回所有数值的总和。MIN— 以批量字符串形式返回最小数值。MAX— 以批量字符串形式返回最大数值。AND— 返回所有值的按位 AND,将每个值视为整数(浮点数被截断为零)。OR— 返回所有值的按位或,将每个值视为整数(浮点数被截断为零)。XOR— 返回所有值的按位异或,将每个值视为整数(浮点数被截断为零)。MATCH value— 返回值等于value的元素计数作为整数回复。USED— 以整数回复形式返回范围内非空元素的计数。
当范围内不存在数字元素时,SUM、MIN 和 MAX 返回 nil。当范围为空时,AND、OR 和 XOR 返回 nil。
示例
redis> ARMSET myarray 0 "10" 1 "20" 2 "30"
(integer) 3
redis> AROP myarray 0 2 SUM
"60"
redis> AROP myarray 0 2 MIN
"10"
redis> AROP myarray 0 2 MAX
"30"
redis> AROP myarray 0 2 MATCH "10"
(integer) 1
redis> AROP myarray 0 2 USED
(integer) 3
redis> ARMSET flags 0 "255" 1 "15" 2 "240"
(integer) 3
redis> AROP flags 0 2 AND
(integer) 0
redis> AROP flags 0 2 OR
(integer) 255
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 标准 |
❌ 标准 |
返回值
RESP2
以下之一: * 批量字符串回复:操作结果。 * 整数回复:MATCH、USED、AND、OR、XOR 的整数结果。 * 无回复:如果没有元素与操作匹配,则为空。
RESP3
以下之一: * 批量字符串回复:操作结果。 * 整数回复:MATCH、USED、AND、OR、XOR 的整数结果。 * 空回复:如果没有元素与操作匹配,则为空。
资料来源:Redis 官方 AROP 文档;中文内容参考 Redis 文档许可。