Redis 列表(List)

Redis 列表(List)

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

一个列表最多可以包含 2的32次方 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

实例

redis 127.0.0.1:6379> LPUSH w3ckey redis (integer) 1 redis 127.0.0.1:6379> LPUSH w3ckey mongodb (integer) 2 redis 127.0.0.1:6379> LPUSH w3ckey mysql (integer) 3 redis 127.0.0.1:6379> LRANGE w3ckey 0 10 1) "mysql" 2) "mongodb" 3) "redis"

在以上实例中我们使用了 LPUSH 将三个值插入了名为 w3ckey 的列表当中。

Redis 列表命令

下表列出了列表相关的基本命令:

1blpop key1 [key2 ] timeout  移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
2brpop key1 [key2 ] timeout  移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
3brpoplpush  list  another_list  timeout    从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
4lindex  key  index   通过索引获取列表中的元素,你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
5linsert  key  before|after  existing_value  new_value  在列表的元素前或者后插入元素, 当指定元素不存在于列表中时,不执行任何操作。 当列表不存在时,被视为空列表,不执行任何操作。 如果 key 不是列表类型,返回一个错误。如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到指定元素 ,返回 -1 。 如果 key 不存在或为空列表,返回 0 。
6llen  key    获取列表长度
7lpop  key  移出并获取列表的第一个元素(最左边元素)
8lpush key value1 [value2]    将一个或多个值插入到列表头部(左面) , 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。
9lpushx  key  value    将一个或多个值插入到已存在的列表头部,列表不存在时操作无效。
10lrange  key start stop   获取列表指定范围内的元素,下标从0开始
11lrem  key  count  value     移除列表元素,

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

COUNT 的值可以是以下几种:

  • count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
  • count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
  • count = 0 : 移除表中所有与 VALUE 相等的值。
12 lset  key  index  value     通过索引设置列表元素的值
13 ltrim  key  start  stop   对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
14 rpop key    移除并获取列表最后一个元素(最右边元素)
15 rpoplpush  list  another_list   移除列表的最后一个元素,并将该元素添加到另一个列表并返回
16 rpush  key value1 [value2]    在列表尾部添加一个或多个值
17 rpushx  key  value    用于将一个或多个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。


Redis 列表(List)_第1张图片




你可能感兴趣的:(Redis 列表(List))