flux中的缓存

  1. cache,onBackpressureBuffer。都是缓存。cache可以将hot流的数据缓存起来。onBackpressureBuffer也是缓存,但是当下游消费者的处理速度比上游生产者慢时,上游生产的数据会被暂时存储在缓冲区中,防止丢失。

  2. Flux.range 默认带有无界缓冲区

复制代码
Flux.interval 默认下游的consume速率不能低于produce的速率,否则直接报错。但是可以增加onBackpressureBuffer/cache让数据缓存
3. Flux.fromIterable 经过测试,应该也是属于无界缓冲区
  1. zipWith自带32长度的缓存,因此可以做到适配两个flux。如果其中一个flux超过了32的缓冲,就会报错
复制代码
Flux<Integer> existingFlux = Flux.interval(Duration.ofMillis(1)).map(t-> Integer.valueOf(t.intValue()));
Flux<Long> s2 = Flux.interval(Duration.ofHours(1));
复制代码
existingFlux.log()
        .zipWith(s2, (httpData, existingData) ->
                existingData // 合并两个数据
        ).subscribe();
Thread.sleep(1000*10);

报错:

  1. 注意默认带有无界缓冲区时,如果设置了onBackpressureBuffer(size)。则反而成为了有界缓冲区。有界会导致如果缓冲区不足以缓冲数据时,会报错
相关推荐
kunkun1013 小时前
关于Redis的事务
数据库·redis·缓存
89315196014 小时前
Android开发获取缓存,清理缓存工具类
android·缓存·android开发·android教程·android获取缓存·android清理缓存·android缓存工具类
青灯文案11 天前
Redis 的缓存雪崩、缓存穿透和缓存击穿详解,并提供多种解决方案
数据库·redis·缓存
rain雨雨编程1 天前
黑马Redis详细笔记(实战篇---短信登录)
java·redis·缓存·框架·短信登录
枫叶落雨2221 天前
07苍穹外卖之redis缓存商品、购物车(redis案例缓存实现)
缓存
九河云2 天前
华为云的分布式缓存服务适合什么场景
分布式·缓存·华为云
无限大.2 天前
前端知识速记:浏览器缓存机制 - 强缓存与协商缓存
前端·缓存
庸了个白2 天前
错误报告:非正常关机引发OTA升级失败:缓存丢失问题的排查与解决
缓存
每天看一遍,防止恋爱&&堕落2 天前
5、大模型的记忆与缓存
缓存·langchain·大模型·llm·agent·大模型缓存
林啾啾2 天前
解决 keep-alive 缓存组件中定时器干扰问题
前端·vue.js·缓存