首页 > 解决方案 > 有没有办法订阅类似于 Redis pub/sub 的 Redis Streams?

问题描述

我正在构建一个数据管道,它使用Maxwell Daemon实时读取 MySQL 二进制日志,Maxwell Daemon 将数据推送到 Redis 流。我已经构建了一个客户端,它使用来自 Redis 流的数据来处理它。目前,我正在使用具有几毫秒睡眠时间的无限循环来轮询XREAD ,以使用流中的数据,但我发现这是一个低效的解决方案。

我正在寻找一种方法,我可以以某种方式订阅 Redis 流,并在新条目添加到流时收到通知,并遇到这个GitHub 问题,他们谈论使用 Redis 发布/订阅和流来实现此功能。

有没有更有效的方式来构建这个系统?

标签: redisarchitecturesystem-designredis-streamsmaxwell

解决方案


是的,使用 的BLOCK参数,XREAD您将拥有相同的“效率”。

文档:https ://redis.io/commands/xread和https://redis.io/topics/streams-intro#listening-for-new-items-with-xread


推荐阅读