返回链表中[start ,stop]中的元素
规律: 左数从0开始,右数从-1开始
从key链表中删除 value值
注: 删除count的绝对值个value后结束
Count>0 从表头删除
Count<0 从表尾删除
lrem效果演示
剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key
返回index索引上的值
计算链接表的元素个数
作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value
注: 一旦找到一个search后,命令就结束了,因此不会插入多个value,如果找不到search,不做任何处理
linsert key after|before search value演示
linsert key after|before search value演示
作用: 把source的尾部拿出,放在dest的头部,
并返回 该单元值
注意:没有lpoprpush命令
场景: task + bak 双链表完成安全队列
命令其实很简单,下面写一段伪代码,基本就明白优势了
task中存在的是需要处理的对象
while($task = rpoplpush(task,bak)){ //取出task中的元素并且放到dest中
task); //处理取出的task元素
if($result){ //如果处理成功
lpop(bak); //删除掉bak中刚取出的元素
}
}
这样在bak队列中留下的元素就是未处理成功的元素,需要进行二次处理
作用:等待弹出key的尾/头元素,
Timeout为等待超时时间
如果timeout为0,则一直等待
场景: 长轮询Ajax,在线聊天时,能够用到