# redis.exceptions.ResponseError: 错误：命令队列已满

- **ID:** `database/redis-command-queue-full`
- **领域:** database
- **类别:** resource_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

Redis 服务器的命令队列已达到最大容量（由 client-output-buffer-limit 控制），导致来自客户端的新命令被拒绝。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Redis 6.2 | active | — | — |
| Redis 7.0 | active | — | — |
| Redis 7.2 | active | — | — |

## 解决方案

1. ```
   Increase the client output buffer limit for the relevant client type (e.g., normal) in redis.conf:
client-output-buffer-limit normal 0 0 0
Then restart Redis or send CONFIG SET command.
   ```
2. ```
   Reduce the number of pipelined commands sent by the client, or batch them more efficiently to prevent queue buildup.
   ```

## 无效尝试

- **Restarting the Redis server without changing buffer limits** — The queue resets temporarily but fills up again under the same load; the error returns. (90% 失败率)
- **Increasing maxmemory to allow more memory** — maxmemory does not affect command queue limits; it controls total memory usage. (85% 失败率)
