---
title: Redis Streams Sink 集成
---

# Redis Streams Sink 集成

本文介绍如何将 FlowMQ 数据写入 Redis Streams。

## 前提条件

- 已了解管道结构与创建流程，参考 [数据集成](data-integration.md)；Sink 连接器总览见 [Sink](data-integration-output.md)
- Redis 服务可访问
- 已规划 Stream key 与消费组策略

## 配置步骤

1. 在“数据管道”中创建管道，完成基础信息配置。
2. 在 Source 步骤选择 `Kafka`（Topic：`flowmq.mqtt.kafka`），Processors 按需配置。
3. 在 Sink 步骤选择 `Redis Streams`，配置 `urls`、`stream` 等参数。
4. 点击“测试”验证连接。
5. 继续完成确认步骤。

## 配置示例

以下示例将 Kafka Topic `flowmq.mqtt.kafka` 中的样例消息写入目标系统。样例 JSON 与 Source 约定见 [Sink · 示例场景](data-integration-output.md#示例场景)。

可参考以下参数示例：

| 参数 | 建议值 |
|---|---|
| urls | host `127.0.0.1`，port `6379`（可选 `database`） |
| kind | `simple` |
| master | `mymaster` |
| stream | `flowmq:mqtt:kafka` |
| body_key | `body` |
| max_length | `0`（不限制） |

> 写入内容为样例 JSON 消息体；也可用 Processors 先抽取 `data.value` 等字段再写入。

## 必要表单参数

参数名后带 `*` 表示控制台必填。「支持表达式」为「是」时，可使用 `${! ... }` 按消息动态取值，详见 [Processors](data-integration-processors-expressions.md)。

| 参数 | 支持表达式 | 说明 |
|------|------------|------|
| `urls*` | 否 | Redis 地址列表（每项含 host/port，可选 database） |
| `kind*` | 否 | Redis 模式（simple/cluster/failover） |
| `master` | 否 | Sentinel 主节点名。即便 `kind` 为 `simple`，也需填写非空值（如 `mymaster`），否则无法通过连通性校验 |
| `stream*` | 是 | Stream 名称 |
| `body_key*` | 否 | 消息体字段键名 |
| `max_length*` | 否 | Stream 最大长度（0 表示不限制） |
| `max_in_flight*` | 否 | 并发写入上限 |

## 参数建议

- `stream` 命名与业务域对应；可按消息动态生成
- `max_length` 建议设置上限，避免无限增长

## 注意事项

- 建议限制 Stream 长度，并统一规划消费组与 ACK
- 即便 `kind` 为 `simple`，`master` 也需填写非空值；`urls` 中的库号字段名为 `database`，勿使用 `db`
- `exclude_prefixes` 若出现空行，连通性「测试」按钮不会出现；可填一个无害前缀（如 `kafka_`），或删掉空行后再测
