# List（列表）

URL: https://caijiao.org/redis/03-data-structures/02-list
Source: docs/redis/03-data-structures/02-list.md
Description: Redis 的 List（列表）是一种有序的字符串集合，支持快速插入和弹出操作，常用于消息队列、任务调度和日志记录等场景。

Redis 中的 List 是简单的字符串列表，按插入顺序排序。它允许在列表的头尾快速添加或移除元素，适合实现队列、栈等数据结构。

## 基本操作

- **LPUSH**：在列表头部插入元素

```bash
LPUSH key value [value ...]
````

* **RPUSH**：在列表尾部插入元素

```bash
RPUSH key value [value ...]
```

* **LPOP**：移除并返回列表头部元素

```bash
LPOP key
```

* **RPOP**：移除并返回列表尾部元素

```bash
RPOP key
```

* **LRANGE**：获取列表指定范围内的元素

```bash
LRANGE key start stop
```

## 进阶操作

* **LLEN**：获取列表长度

```bash
LLEN key
```

* **LINDEX**：通过索引获取元素，索引从 0 开始，负数表示从尾部计算

```bash
LINDEX key index
```

* **LSET**：通过索引设置元素的值

```bash
LSET key index value
```

* **LREM**：移除列表中与给定值相等的元素

```bash
LREM key count value
```

## 应用场景

List 适用于消息队列、任务列表、日志记录和时间线等场景。利用其高效的头尾操作，可以轻松实现先进先出（FIFO）或后进先出（LIFO）结构。
