Redis list(列表)相关命令

Redis列表是简单的字符串列表,列表是有序的,列表中的元素能够重复。spa

能够添加一个元素到列表的头部(左边)或者尾部(右边)code

一个列表最多能够包含 232 - 1 个元素 (40多亿)。blog

 

 

一、lpush key value1 value2 .....    //往列表的头部(左边)推入一个或多个元素,lpush的l表示left。key是列表名称,把列表中的全部元素做为一个总体(value)。若key不存在,会自动建立。索引

示例:rem

 lpush students "zhangsan" "lisi" "wangwu"       //返回操做后列表中的总元素个数字符串

先在列表头部添加“zhangsan”,再在列表头部添加“lisi”,接着在列表头部添加“wangwu”,最后列表的前三个元素依次是"wangwu"、“lisi”、“zhangsan”。class

 

二、lpushx key value1 value2 ......    //同上,只是key不存在时,不执行操做(不会自动建立)。要key已存在且key时list类型时才会添加元素。搜索

三、lpop key   //弹出列表的第一个元素,会从列表中移除并返回该元素。遍历

 

l表示left,列表的头部。im

 

 

 

四、rpush key value1 value2 ....    //在列表尾部推入1个或多个元素。

五、rpushx key value1 value2 .....     //尾部,key已存在时才会推入。

六、rpop    //弹出列表的最后一个元素

r表示right,列表的尾部。

 

上面的l、r命令是一一对应的。

 

 

七、rpoplpush sourceKey destKey   //弹出sourceKey的最后一个元素,并在destKey的头部推入元素,即剪切。返回该元素。rpoplpush即对sourceKey执行rpop,对destKey执行lpush。

 

 

八、blpop  key1  key2  ....   timeout    //弹出一个或多个的列表的第一个元素,若是列表为空会阻塞列表直到等待超时或发现可弹出元素为止。blpop即bind  lpop。

示例: blpop students 60    //60s

九、brpop  key1  key2 .....   timeout

十、brpoplpush  sourceKey  destKey   timeout

 

  

 

十一、llen  key    //返回列表中的元素个数

十二、lset  key  index  value    //给指定索引处的元素设置值(即修改元素值)

1三、lindex  key  index   //根据index索引元素,返回指定位置上的元素

1四、lrange  key start  end    //返回[start,end]区间上的全部元素。start、end是索引,好比0  -1  就是返回全部元素。

1五、ltrim key start  end   //修剪列表,只保留[start,end]区间上的元素,其他元素会被删除。

 

1六、linsert  key  before/after  value1  value2    //在元素value1以前/以后插入元素value2。value2是要插入的元素。

示例: linsert student before "lisi" "zhangsan"     //在lisi的前面插入zhangsan

插入成功,返回操做后列表的总长度;若value1不存在,返回-1;若key不存在或key是一个空的list,则返回0.

 

1七、lrem  key  count  value  //移除列表中值为value的全部元素。lrem即list remove。count是一个整数,表示要删除的个数、搜索方向。

count>0:从表头向表尾搜索,移除count个值为value的元素

count<0:从表尾向表头搜索,移除count的绝对值个值为value的元素

count=0:移除表中全部的值为value的元素。要遍历列表,从哪边开始结果、速度都是同样的。

示例: lrem scores 0 90    移除列表中全部的90

 

以上几个命令中,l表示list。index从0开始,支持负数索引,index要是已存在的

 

 

Redis的区间,都是闭区间,[start,end],两边都包含。

相关文章
相关标签/搜索