LPUSH : 左端推入元素
起始版本 : 1.0.0
时间复杂度 : 添加一个元素为O(1),添加多个元素为O(N),N为要添加的元素个数。
将所有指定的值插入到存于 key 的列表的左端。如果 key 不存在,则在操作执行之前将其创建为空列表。如果key对应的value不是 list 类型时,则返回错误。
推入多个元素时,多个元素从左到右依次推入左端。例如,LPUSH mylist a b c
先推入a,结果为a。在推入b,结果为ba。最后推入c,结果为cba
语法
LPUSH key 元素1 [元素2 ...]
返回值
推入元素后列表的长度
历史
redis 版本 >= 2.4时,可接受多个element参数。在低于2.4的Redis版本中,只能接受一个element参数
LPUSHX : key 存在时,左端推入元素
起始版本 : 2.2.0
时间复杂度 : 添加一个元素为O(1),添加多个元素为O(N),N为要添加的元素个数。
只有当 key 存在,并且对应的 value 是 list 类型的时候,才执行操作。
语法
LPUSHX key 元素1 [元素2 ...]
返回值
推入元素后列表的长度
历史
redis 版本 >= 4.0时,可接受多个element参数。在低于4.0的Redis版本中,只能接受一个element参数。
RPUSH : 右端推入元素
起始版本 : 1.0.0
时间复杂度 : 添加一个元素为O(1),添加多个元素为O(N),N为要添加的元素个数。
将所有指定的值插入到存于 key 的列表的右端。如果 key 不存在,则在操作执行之前将其创建为空列表。如果key对应的value不是 list 类型时,则返回错误。
推入多个元素时,多个元素从左到右依次推入右端。例如,RPUSH mylist a b c
先推入a,结果为a。在推入b,结果为ba。最后推入c,结果为cba
语法
RPUSH key 元素1 [元素2 ...]
返回值
推入元素后列表的长度
历史
redis 版本 >= 2.4时,可接受多个element参数。在低于2.4的Redis版本中,只能接受一个element参数
RPUSHX : key 存在时,右端推入元素
起始版本 : 2.2.0
时间复杂度 : 添加一个元素为O(1),添加多个元素为O(N),N为要添加的元素个数。
只有当 key 存在,并且对应的 value 是 list 类型的时候,才执行操作。
语法
RPUSHX key 元素1 [元素2 ...]
返回值
推入元素后列表的长度
历史
redis 版本 >= 4.0时,可接受多个element参数。在低于4.0的Redis版本中,只能接受一个element参数。
LPOP : 左端弹出
起始版本 : 1.0.0
时间复杂度 : O(1)
删除(弹出)最左端的元素
当list中没有元素时(