What & why
The project already has a Redis store (a state backend) but no Redis
connector (treating Redis as a data source/sink). They serve different roles:
the store backs the engine's internal state, while a connector backs DSL table
reads/writes. Redis as a dimension table or result cache is very common.
项目已有 Redis store(状态后端),但没有 Redis connector(把 Redis 当数据源/汇)。
两者职责不同:store 服务于引擎内部状态,connector 服务于 DSL 建表读写。Redis 作维表/结果缓存很常见。
The task
Create geaflow-dsl-connector-redis: the sink supports writing string/hash, the
source supports scanning by key pattern.
新建 geaflow-dsl-connector-redis,sink 支持写 string/hash,source 支持按 key 模式扫描读取。
Where to look / 怎么做
- References: the minimal
geaflow-dsl-connector-console (sink only) and the
connection-managing geaflow-dsl-connector-elasticsearch.
- Reuse the Redis client already in the project — check which client
geaflow-store-redis uses and stick with it to avoid pulling in a new dependency.
- Implement connector / source / sink + SPI registration + pom + docs + tests.
Done when
What & why
The project already has a Redis store (a state backend) but no Redis
connector (treating Redis as a data source/sink). They serve different roles:
the store backs the engine's internal state, while a connector backs DSL table
reads/writes. Redis as a dimension table or result cache is very common.
项目已有 Redis store(状态后端),但没有 Redis connector(把 Redis 当数据源/汇)。
两者职责不同:store 服务于引擎内部状态,connector 服务于 DSL 建表读写。Redis 作维表/结果缓存很常见。
The task
Create
geaflow-dsl-connector-redis: the sink supports writing string/hash, thesource supports scanning by key pattern.
新建
geaflow-dsl-connector-redis,sink 支持写 string/hash,source 支持按 key 模式扫描读取。Where to look / 怎么做
geaflow-dsl-connector-console(sink only) and theconnection-managing
geaflow-dsl-connector-elasticsearch.geaflow-store-redisuses and stick with it to avoid pulling in a new dependency.Done when