*Redis RPUSHX 命令 仅当列表存在时才追加元素到尾部

*RPUSHX

*语法

RPUSHX key element [element ...]

*说明

RPUSHX 将元素插入到列表 key尾部(右边),但仅当 key 已存在且为列表类型时才执行插入。

  • RPUSH 相反:当 key 不存在时,RPUSHX 不会创建新列表,也不进行任何操作,返回 0
  • key 存在但不是列表类型时,返回错误。
  • 支持一次插入多个元素(>= 4.0)。

*示例

# key 不存在,不执行任何操作
redis-cli RPUSHX mylist "Hello"

# 先用 RPUSH 创建列表
redis-cli RPUSH mylist "Hello"

# 现在 RPUSHX 可以正常插入
redis-cli RPUSHX mylist "World"

# 查看结果
redis-cli LRANGE mylist 0 -1

# 一次插入多个元素
redis-cli RPUSHX mylist "Redis" "Claw"
redis-cli LRANGE mylist 0 -1

*返回值

  • Integer reply:执行插入后列表的新长度。
  • Integer reply0,表示 key 不存在,未执行操作。

*版本兼容性

版本 说明
>= 4.0.0 支持一次插入多个元素
>= 2.2.0 可用
< 2.2.0 不支持

*时间复杂度

O(1),每插入一个元素均为 O(1)。