lists链表类型
lists类型就是一个双向链表,通过push,pop操作.从链表的头部或者尾部添加删除元素,
这样list即可以作为栈也可以作为队列
lpush key value 在链表key的头部添加元素value,返回链表长度
rpop key 在链表key的尾部删除元素,并返回被删除元素
llen key 返回链表key的长度,即元素个数,key不存在时返回0,如果key对应的类型不是lists返回错误
lrange key start end 返回链表key在区间[start end]中的元素,左数从0开始,右数从-1开始.lrange key 0 -1就会返回链表中所有元素
rpush key value 在链表尾部添加元素value
lpop key 在链表key头部删除元素,并返回被删除的元素
ltrim key start end 截取链表key,保留区间[start end]内的元素
lrem key count value 从链表key中删除count个值为value的元素,注意是按照元素的值删
count>0 从头部(左边)删除count个
count<0 从尾部(右边)删除|count|个
lindex key index 返回链表key中index位置的元素,从0开始计数
linsert key after|before search value 在链表key中寻找值为search的元素,并在改元素前(或后)插入值value
注:如果有多个值search以第一个为主,执行命令就结束了,因此不会插入多个value
rpoplpush source dest 将链表source的尾部元素取出放到链表dest的头部,并返回该元素
brpop key timeout 在链表key的尾部处等待timeout秒,如果timeout秒内有元素进入链表key,就将元素从尾部弹出
blpop key timeout 在链表key的头部处等待timeout秒,如果timeout秒内有元素进入链表key,就将元素从头部弹出