Redis LPUSHX 命令表示将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。和 LPUSH 命令相反,当 key 不存在时,LPUSHX 命令什么也不做。
命令格式
LPUSHX key value
可用版本:2.2.0
时间复杂度:O(1)
命令返回值
LPUSH 命令返回有 3 种情况:
- 指定 key 不存在时,返回 0。
- 指定 key 存在且是列表类型时,返回操作后表的长度。
- 指定 key 不是列表类型时,返回类型不匹配的错误信息。
示例
redis> LPUSHX mylist BTS # 指定 key 不存在时,返回 0
(integer) 0
redis> EXISTS mylist
(integer) 0
redis> LPUSH mylist BTS
(integer) 1
redis> LPUSHX mylist ARMY # 指定 key 存在且是列表类型时,返回操作后表的长度
(integer) 2
redis> SET str BIGBANG
OK
redis> LPUSHX str vip # 指定 key 不是列表类型时,返回类型不匹配的错误信息
(error) WRONGTYPE Operation against a key holding the wrong kind of value
redis>