Redis防忘 backup

增元素:
[L/R]PUSH[X] k v [v ...] //O(1)
有无X后缀的区别是:有X的必须要求k指定的列表是存在的。无X后缀表示k对应的列表不存在则创建之
返回值:插入后列表中元素的数量。
错误:value非列表类型


弹出元素:
[L/R]POP k //O(1)
返回值:左/右的元素
错误: key不存在,返回nil

长度查询:
LLEN k // O(1)
返回值: 不存在key,返回0,存在key则返回长度
错误: value非链表类型

切片获取:
LRANGE k start end // O(S+N)
返回值:start到end的切片; start大于列表长度,则返回空列表; end值大于长度,则返回start后剩余的。start和end都是0-base的(0表示第一个元素),start,end可以为负数,表从右到左。 0 -1表示所有元素

按k=v删除元素:
LREM k count v // O(N)
备注: 删除count个值等于v的元素。count是正数表从左到右删k=v的元素,负数表从右到左,0表删除所有k=v元素
返回值:返回被删除的元素数量

查某索引的值
LINDEX k index //O(N) 头尾是O(1)
返回值: 索引对应的值,如果index越界,返回nil
错误:key类型不是列表

改某索引的值:
LSET k index v //O(N),头尾是O(1)
备注:index为-1表最后一个元素
返回值:无
错误:index越界

保留某范围的切片:
LTRIM k start end // O(N)
备注: start大于end,或start大于列表长度,返回空列表,key会被删除。end大于start则保留start后的剩余元素

插入元素:
LINSERT key BEFORE|AFTER refValue targetValue //O(N)
错误:key不是链表

从srcKey列表右边弹出元素插入到dstKey列表的左边(原子操作)
RPOPLPUSH srcKey dstKey //O(1)
返回值:srcKey不存在,返回nil,如果src和dst是同一个key,则将该列表尾部元素弹出到头部

posted on 2019-02-25 14:38  进取有乐  阅读(237)  评论(0编辑  收藏  举报

导航