• LINSERT key BEFORE|AFTER pivot value
    • 返回值
    • 代码示例

    LINSERT key BEFORE|AFTER pivot value

    可用版本: >= 2.2.0
    时间复杂度: O(N), N 为寻找 pivot 过程中经过的元素数量。

    将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。

    pivot 不存在于列表 key 时,不执行任何操作。

    key 不存在时, key 被视为空列表,不执行任何操作。

    如果 key 不是列表类型,返回一个错误。

    返回值

    如果命令执行成功,返回插入操作完成之后,列表的长度。如果没有找到 pivot ,返回 -1 。如果 key 不存在或为空列表,返回 0

    代码示例

    1. redis> RPUSH mylist "Hello"
    2. (integer) 1
    3.  
    4. redis> RPUSH mylist "World"
    5. (integer) 2
    6.  
    7. redis> LINSERT mylist BEFORE "World" "There"
    8. (integer) 3
    9.  
    10. redis> LRANGE mylist 0 -1
    11. 1) "Hello"
    12. 2) "There"
    13. 3) "World"
    14.  
    15.  
    16. # 对一个非空列表插入,查找一个不存在的 pivot
    17.  
    18. redis> LINSERT mylist BEFORE "go" "let's"
    19. (integer) -1 # 失败
    20.  
    21.  
    22. # 对一个空列表执行 LINSERT 命令
    23.  
    24. redis> EXISTS fake_list
    25. (integer) 0
    26.  
    27. redis> LINSERT fake_list BEFORE "nono" "gogogog"
    28. (integer) 0 # 失败