gpt4 book ai didi

java - 使用异步加载的 LoadingCache

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:52 26 4
gpt4 key购买 nike

在guava中,使用LoadingCache时会同步调用CacheLoader。但是,我的 load() 操作可能需要太长时间(~1 秒),我想采取默认操作以防它花费太长时间(>200 毫秒)并异步加载值。

有办法实现吗?或者您是否可以推荐任何其他方法?

最佳答案

Caffeine library是 Guava 缓存的 Java 8 重写,它允许将条目异步自动加载到缓存中,返回 CompletableFutures。它由直接参与创建 Guava 缓存的人员编写,并使用受 Guava 启发的 API(包括 Guava 接口(interface)的适配器)。

根据 Guava 邮件列表上的帖子,它基于 Guava 缓存库的原始提案,并包含最初针对 Guava 本身的更改,但由于各种原因(包括 Guava 需要兼容)而未包含在内使用旧版本的 Java)。

事实上,一些项目现在考虑弃用 Guava 缓存并改用 Caffeine,e.g. Spring has switched to Caffeine并且作者指出“Caffeine 是 ConcurrentLinkedHashMap 和 Guava 缓存的 Java 8 继承者。项目应该更喜欢 Caffeine,并在需要 JDK8 或更高版本时迁移。”

关于java - 使用异步加载的 LoadingCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17456955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com