*Redis ARMSET 命令

ARMSET 同时设置多个数组键的值。


*语法

ARMSET key element [element ...] [key element [element ...] ...]

*参数说明

参数 类型 必填 说明
key String 数组键名
element String / Bytes 元素值,每个 key 后可跟多个

*返回值

  • OK:全部设置成功
  • Error:参数不成对、内存不足等

*时间复杂度

O(N),N 为所有设置的元素总数。


*示例

*设置两个数组

> ARMSET colors "red" "green" sizes "S" "M" "L"
OK
> ARGET colors
1) "red"
2) "green"
> ARGET sizes
1) "S"
2) "M"
3) "L"

*批量初始化

> ARMSET queue:1 "task1" "task2" queue:2 "task3"
OK

*常见错误

错误 原因 解决
ERR wrong number of arguments key 后没有 element 确保每个 key 至少有一个元素

*最佳实践

  • 批量初始化多个数组,减少网络往返
  • 原子性操作,要么全部成功,要么全部失败
  • 大数组初始化建议分批进行

*FAQ

Q1: ARMSET 和多次 ARSET 的区别? A: ARMSET 单次往返原子性设置多个数组;多次 ARSET 需要多次往返。

Q2: 如果某个 key 已存在且不是 Array 会怎样? A: 会覆盖为 Array 类型,原有数据丢失。

Q3: 可以设置空数组吗? A: 不可以,每个 key 后必须至少提供一个 element。