您的位置:首页 > 数据库 > Redis

Redis学习笔记(六) 基本命令:List操作

2016-11-07 17:15 741 查看
原文链接:http://doc.redisfans.com/list/index.html

lpush key value[value...]
  将一个或多个value插入到列表的表头;例:lpush fruit apple。

lpushx key value
  和lpush类似,但是lpushx会校验key是否存在,若key不存在则不进行任何操作;例:lpushx fruit orange。

lpop key
  移除并返回列表key的头元素(后进先出),若key不存在返回nil;例:lpop fruit。

blpop key[key...] timeout
  lpop的阻塞版本,当指定的列表中没有任何元素可供弹出时,链接会被blpop命令阻塞,直到等待超时(单位:秒)或发现可弹出元素时为止,若发现其中任何一个列表中有值则返回列表key和第一个元素的值,例:blpop editor fruit 30 返回:
  1) fruit
  2) apple

rpush key value[value...]
  和lpush类似,但是它是将数据插入到表尾(最右边);例:rpush fruit apple。

rpushx key value
  和rpush和lpushx类似,它会将数据插入到表尾并且检查key是否存在;例:rpushx fruit apple。

rpop key
  移除并返回列表的末尾,若key不存在则返回nil;例:rpop fruit。

brpop key[key...] timeout
  rpop的阻塞版本,参见blpop。

rpoplpush source destination
  顾名思义,执行两个操作 rpop+lpush:

将列表source中的数据末尾元素弹出,并返回给客户端;

将source中取出的元素插入到destination中。

brpoplpush source destination
  rpoplpush的阻塞版本,参见brpop。

lset key index value
  将列表中指定位置的值改为指定的值,若key不存在或index超出索引时,返回错误;例:lset fruit 0 orange。

linsert key before|after pivot value
  在指定pivot之前或者之后插入一个值并返回元素的个数,当key不存在时不执行任何操作,当pivot不存在时不执行任何操作,若pivot有多个按从左到右以第一个为准,例:linsert fruit after apple orange。

llen key
  返回列表的长度;例:llen fruit。

lindex key index
  返回列表中index元素的值。index从0开始,若为负数则表示从右测读取,如-1表示倒数第一个元素,-2表示倒数第二个元素,当index超出索引时返回null;例:lindex fruit 0。

lrange key start stop
  取指定区间的列表数据,start和stop都以0为底,也可以为负数-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推。若stop超出界限则会返回界限内的值,若start超出界限则会返回空列表,若start比end大则会交换列表的值;例:lrange fruit 1 5。

ltrim key start stop
  移除列表指定区间左右两边的数据,只保留区间内的数据。若start>stop会返回空表;若stop比list还要大则将stop置为end;例:ltrim fruit 2 4。

lrem key count value
  移除列表中与value相等的元素,若count>0从左到右移除与count个与value相等的元素;若count<0从右向左移除count个与value相等的元素;若count==0移除所有与value相等的元素;例:lrem fruit 2 orange。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: