我正在构建一个数据管道,使用maxwell守护进程实时读取mysql binlog,maxwell守护进程将数据推送到redis流。我构建了一个客户端,它使用redis流处理的数据。目前,我正在使用睡眠时间为几毫秒的无限循环轮询xread,以消耗流中的数据,但我发现这是一个低效的解决方案。
我在寻找一种方法,在那里我可以订阅redis流,每当有新的条目添加到流中时就得到通知,并且遇到了github的问题,他们讨论了使用redis发布/订阅以及流来实现这个功能。
有没有更有效的方法来设计这个系统?
1条答案
按热度按时间eyh26e7m1#
是的,使用
BLOCK
的论点XREAD
你也会有同样的“效率”。文档:https://redis.io/commands/xread 以及https://redis.io/topics/streams-intro#listening-对于带有xread的新项目