作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是不是遗漏了什么,或者有没有办法用 Redis 流产生背压?如果生产者将数据推送到流中,消费者可以更快地消费它,则没有明显的方式向生产者发出信号,表明它应该停止或放慢速度。
我预计会有 XADD
的阻塞版本,这将阻塞客户端,直到空间在一个有上限的流中可用(类似于 XREAD
的阻塞版本,它允许消费者等待数据可用),但情况似乎并非如此。
人们如何处理上述情况——向制作人发出信号,告诉他们应该推迟向流中添加更多项目?
我知道一些数据流系统(例如 Kafka)不需要背压,但是 Redis 似乎没有可比的解决方案,而且对于许多 Redis 流用例来说,这似乎是一个相对常见的问题。
最佳答案
如果您打开了持久性(RDB 或 AOF),您的流消息将被持久化,因此不需要背压。
如果您使用副本,则会有另一个级别的冗余。
仅当 Redis 没有足够的内存(或副本的足够网络带宽)来保存消息时,才需要背压。
而且,老实说,我从未见过这种情况。
关于redis - 如何对 Redis 流使用背压?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56420506/
我是一名优秀的程序员,十分优秀!