*Redis LPUSHX 命令

只在 List 存在时,将元素插入 List 头部。List 不存在时不创建。


*语法

LPUSHX key element [element ...]

*参数说明

参数 类型 必填 说明
key String List 键名
element String 要插入的元素,可一次插入多个

*返回值

条件 返回值
List 存在 插入后 List 的长度(Integer)
List 不存在 0

*时间复杂度

O(1) 每个元素。


*示例

> LPUSHX mylist a
(integer) 0    # List 不存在,不创建

> LPUSH mylist a
(integer) 1

> LPUSHX mylist b c
(integer) 3

> LRANGE mylist 0 -1
1) "c"
2) "b"
3) "a"

*常见错误

  1. 对非 List 使用:返回 WRONGTYPE。

*最佳实践

  1. 安全插入:只在 List 已存在时插入,避免创建不需要的 List。

*FAQ

Q: LPUSHX 和 LPUSH 有什么区别? A: LPUSHX 只在 List 存在时插入;LPUSH 总是创建 List(如果不存在)。LPUSHX 更安全,避免意外创建 key。