开发者社区 问答 正文

CacheMono是如何工作的?

CacheMono是如何工作的?

展开
收起
冲冲冲c 2024-06-21 21:01:42 73 分享 版权
1 条回答
写回答
取消 提交回答
  • CacheMono的lookup方法用于查询缓存中是否已存在指定的key。如果不存在,它会通过onCacheMissResume指定的方法来重新生成一个Mono。当Mono发出信号时,andWriteWith方法会将这些信号的值存入缓存中。

    final Mono<String> cachedMonoCaffeine = CacheMono 
    .lookup( 
    k -> Mono.justOrEmpty(caffeineCache.getIfPresent(k)).map(Signal::next), 
    key 
    ) 
    // ... 其他代码 ... 
    .andWriteWith((k, sig) -> Mono.fromRunnable(() -> 
    caffeineCache.put(k, Objects.requireNonNull(sig.get())) 
    ));
    
    2024-06-21 21:28:28
    赞同 1 展开评论
问答地址: