在 Redis 中,列表(List)是一种有序的字符串元素集合,它支持在列表的两端进行元素的插入和删除操作。列表常用于实现队列、栈等数据结构,也可用于存储日志、消息队列等应用场景。

以下是 Redis 中列表常用的命令和操作:

1. 从列表左侧插入元素:

  •  LPUSH key element [element ...]: 在列表的左侧插入一个或多个元素。

  LPUSH mylist "world" "hello"

2. 从列表右侧插入元素:

  •  RPUSH key element [element ...]: 在列表的右侧插入一个或多个元素。

  RPUSH mylist "hello" "world"

3. 从列表左侧弹出元素:

  •  LPOP key: 从列表的左侧弹出一个元素。

  LPOP mylist

4. 从列表右侧弹出元素:

  •  RPOP key: 从列表的右侧弹出一个元素。

  RPOP mylist

5. 获取列表指定范围的元素:

  •  LRANGE key start stop: 获取列表指定范围的元素。

  LRANGE mylist 0 -1

6. 获取列表长度:

  •  LLEN key: 获取列表的长度。

  LLEN mylist

7. 在指定元素前或后插入元素:

  •  LINSERT key BEFORE|AFTER pivot element: 在列表中指定元素的前或后插入一个新元素。

  LINSERT mylist BEFORE "world" "hello"

8. 移除列表中指定数量的元素:

  •  LREM key count element: 从列表中删除指定数量的与元素值相等的元素。

  LREM mylist 2 "hello"

9. 设置列表中指定索引位置的元素:

  •  LSET key index element: 将列表中指定索引位置的元素设置为新值。

  LSET mylist 0 "new_value"

10. 在列表两端弹出、推入元素:

  •  BLPOP key [key ...] timeout: 从列表的左侧弹出元素,如果列表为空,则阻塞等待。

  •  BRPOP key [key ...] timeout: 从列表的右侧弹出元素,如果列表为空,则阻塞等待。

  BLPOP mylist 10

11. 移动元素到另一个列表:

  •  RPOPLPUSH source destination: 从一个列表的右侧弹出元素,并将其推入另一个列表的左侧。

  RPOPLPUSH mylist myotherlist

12. 阻塞式弹出元素:

  •  BRPOPLPUSH source destination timeout: 类似于 RPOPLPUSH,但支持超时设置,避免永久阻塞。

  BRPOPLPUSH mylist myotherlist 10

这些是 Redis 列表的一些基本命令和操作。列表类型在 Redis 中非常灵活,可以用于实现各种常见的数据结构和应用场景。


转载请注明出处:http://www.pingtaimeng.com/article/detail/14262/Redis