Redis _ lesson6 Redis List相关操作


大纲

1. 命令按照相似度分类


2. 大部分常用命令


3.list 的性能总结


特点 : 单值多value




1. 命令分类


案例:


lpush  /  rpush  / lrange


lpop / rpop


lindex 按照索引下表获得元素 (从上到下)


llen 


lrem key 删N个value


ltrim key  开始index到结束index,截取指定范围的值再赋值给key


rpoplpush 源列表 目的列表


lset key index value


linsert key before / after 值1 值2 



一些演示:


LRANGE LIST 

对非List执行lrange

Redis _ lesson6 Redis List相关操作




LINSERT KEY BEFORE / AFTER 值1 值2 

Redis _ lesson6 Redis List相关操作


LSET KEY INDEX VALUE

Redis _ lesson6 Redis List相关操作



LTRIM KEY START END

Redis _ lesson6 Redis List相关操作



LREM KEY count value 

Redis _ lesson6 Redis List相关操作



2.常用命令 


BLPOP key1 [key2 ] timeout 
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。


BRPOP key1 [key2 ] timeout 
移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。


BRPOPLPUSH source destination timeout 
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。


LINDEX key index 
通过索引获取列表中的元素


LINSERT key BEFORE|AFTER pivot value 
在列表的元素前或者后插入元素


LLEN key 
获取列表长度


LPOP key 
移出并获取列表的第一个元素


LPUSH key value1 [value2] 
将一个或多个值插入到列表头部


LPUSHX key value 
将一个值插入到已存在的列表头部


LRANGE key start stop 
获取列表指定范围内的元素


LREM key count value 
移除列表元素


LSET key index value 
通过索引设置列表元素的值


LTRIM key start stop 
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。


RPOP key 
移除并获取列表最后一个元素


RPOPLPUSH source destination 
移除列表的最后一个元素,并将该元素添加到另一个列表并返回


RPUSH key value1 [value2] 
在列表中添加一个或多个值


RPUSHX key value 
为已存在的列表添加值







3.性能总结


list 是一个字符串链表, left , right 都可以插入


如果键不存在,创建新的链表


如果键已存在,新增内容


如果键全移除,对应的键也就消失了


链表的操作无论是头跟尾的效率都极高,但如果是中间元素操作,效率比较低。