Redis教程——5.基本数据类型的操作

list数据类型

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

总结:

一。新增list
结构操作
8    LPUSH key value1 [value2]
将一个或多个值插入到列表头部
注意:Lpush 命令将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。

9    LPUSHX key value
将一个值插入到已存在的列表头部(如果)
注意:Lpushx 将一个值插入到已存在的列表头部,列表不存在时操作无效。

16    RPUSH key value1 [value2]
在列表中添加一个或多个值
注意:Rpush 命令用于将一个或多个值插入到列表的尾部(最右边)。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。

17    RPUSHX key value
为已存在的列表添加值
注意:Rpushx 命令用于将一个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。

修改list(修改旧字段或者新增字段)

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

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

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

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

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

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

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

14    RPOP key
移除列表的最后一个元素,返回值为移除的元素。

15    RPOPLPUSH source destination
移除列表的最后一个元素,并将该元素添加到另一个列表并返回
16    RPUSH key value1 [value2]
在列表中添加一个或多个值

二。删除list
11    LREM key count value
移除列表元素

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

6    LLEN key
获取列表长度

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

 

一。新建list  新建班级class1   

语句: lpush class1 'tom' 'jack' 'mike'  

上述语句是从左侧插入 所以按照插入顺序是 'tom' 'jack' 'mike'   所以取出顺序和此相反

Redis教程——5.基本数据类型的操作

二。获取list 

语句:lrange class1 0 -1

0 -1:代表取出所有

LLEN key(类似 java list.size()方法)

LINDEX key index(类似 java list.get(i)方法)

三。删除list

Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。

COUNT 的值可以是以下几种:

  • count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
  • count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
  • count = 0 : 移除表中所有与 VALUE 相等的值。
  • Redis教程——5.基本数据类型的操作
  • 四。修改list
  • 1.BLPOP key1 [key2 ] timeout
  • Redis教程——5.基本数据类型的操作
  • 2.对列表进行修剪
  • LTRIM key start stop

    Redis教程——5.基本数据类型的操作

  • 3.LSET key index value
    通过索引设置列表元素的值
  • Redis教程——5.基本数据类型的操作
  •  

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

    Redis教程——5.基本数据类型的操作

 

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

 

Linsert 命令用于在列表的元素前或者后插入元素。当指定元素不存在于列表中时,不执行任何操作。

当列表不存在时,被视为空列表,不执行任何操作。

如果 key 不是列表类型,返回一个错误。

Redis教程——5.基本数据类型的操作