> For the complete documentation index, see [llms.txt](https://aiii-mike.gitbook.io/redis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aiii-mike.gitbook.io/redis/command/list/lrem.md).

# lrem

### 1. 基本語法

#### lre&#x6D;**(`key`, `count` , `value`)**&#x20;

刪除串列中全部或部分&#x7684;**`value`**，刪除的次數及方法取決&#x65BC;**`count`**&#x53C3;數。

| **`count`**&#x53D6;值  | 刪除規則                                                          |
| --------------------- | ------------------------------------------------------------- |
| **`count`**&#x7B49;於0 | 刪除串列中所有位置&#x7684;**`value`**                                  |
| **`count`**&#x5927;於0 | 則從串列**最前端**開始**往後**依序刪&#x9664;**`count`**&#x500B;**`value`**  |
| **`count`**&#x5C0F;於0 | 則從串列**最末端**開始**往前**依序刪除`\|`**`count`**`\|`&#x500B;**`value`** |

### **2. 範例**

**(1) 刪除串列中前2個A，`count = 2`**

{% tabs %}
{% tab title="TypeScript" %}

```typescript
client.del('foo');

const foo_list = ['-','A', '-', 'A', '-', 'A', '-', 'A', '-'];
client.rpush('foo', foo_list);
client.lrange('foo', 0, -1, redis.print);

client.lrem('foo', 2, 'A');
client.lrange('foo', 0, -1, redis.print);
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}

```
Reply: 1,A,2,A,3,A,4,A,5
Reply: 1,2,3,A,4,A,5
```

{% endtab %}
{% endtabs %}

**(2) 刪除串列中倒數2個A，`count = -2`**

{% tabs %}
{% tab title="TypeScript" %}

```typescript
client.del('foo');

const foo_list = ['-','A', '-', 'A', '-', 'A', '-', 'A', '-'];
client.rpush('foo', foo_list);
client.lrange('foo', 0, -1, redis.print);

client.lrem('foo', -2, 'A');
client.lrange('foo', 0, -1, redis.print);
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}

```
Reply: -,A,-,A,-,A,-,A,-
Reply: -,A,-,A,-,-,-
```

{% endtab %}
{% endtabs %}

**(3) 刪除串列中所有A，`count = 0`**

{% tabs %}
{% tab title="TypeScript" %}

```typescript
client.del('foo');

const foo_list = ['-','A', '-', 'A', '-', 'A', '-', 'A', '-'];
client.rpush('foo', foo_list);
client.lrange('foo', 0, -1, redis.print);

client.lrem('foo', 0, 'A');
client.lrange('foo', 0, -1, redis.print);
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}

```
Reply: -,A,-,A,-,A,-,A,-
Reply: -,-,-,-,-
```

{% endtab %}
{% endtabs %}
