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)。则反而成为了有界缓冲区。有界会导致如果缓冲区不足以缓冲数据时,会报错
相关推荐
风向决定发型丶3 小时前
redis集群搭建
数据库·redis·缓存
宠友信息7 小时前
多端数据互通场景下Spring Boot仿小红书源码结构设计
数据库·spring boot·redis·缓存·架构
长不胖的路人甲7 小时前
Redis 缓存的数据持久化方案讲解
数据库·redis·缓存
长不胖的路人甲7 小时前
Redis 单线程为什么速度很快
数据库·redis·缓存
CCPC不拿奖不改名13 小时前
Redis 工程化部署深度解析
linux·服务器·数据库·redis·深度学习·缓存·rag
想吃火锅100520 小时前
【leetcode】146.LRU缓存js
算法·leetcode·缓存
明哥聊AI2 天前
【推理与部署篇14】Prefix Caching深度解析:从自动前缀缓存到语义缓存的推理加速实战
java·开发语言·缓存
小七-七牛开发者10 天前
TokenPilot:让 LLM Agent 长会话成本降 60%+ 的上下文管理
缓存·agent·token·context·上下文·推理成本
ofoxcoding18 天前
在AI API聚合平台配置DeepSeek V3.2提示词缓存实战:快速接入与成本优化指南
人工智能·spring·缓存·ai
NeilYuen18 天前
gRPC结合FAISS构建AI助手语义缓存模块(一):设计
人工智能·缓存·faiss