*Redis RPUSHX 命令
只在 List 存在时,将元素插入 List 尾部。List 不存在时不创建。
*语法
RPUSHX key element [element ...]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | List 键名 |
| element | String | 是 | 要插入的元素,可一次插入多个 |
*返回值
| 条件 | 返回值 |
|---|---|
| List 存在 | 插入后 List 的长度(Integer) |
| List 不存在 | 0 |
*时间复杂度
O(1) 每个元素。
*示例
> RPUSHX mylist a
(integer) 0 # List 不存在,不创建
> RPUSH mylist a
(integer) 1
> RPUSHX mylist b c
(integer) 3
> LRANGE mylist 0 -1
1) "a"
2) "b"
3) "c"
*常见错误
- 对非 List 使用:返回 WRONGTYPE。
*最佳实践
- 安全插入:只在 List 已存在时插入尾部,避免创建不需要的 List。
*FAQ
Q: RPUSHX 和 RPUSH 有什么区别? A: RPUSHX 只在 List 存在时插入;RPUSH 总是创建 List(如果不存在)。RPUSHX 更安全,避免意外创建 key。