开发者社区> 问答> 正文

如何创建一个AsyncLoadingCache实例并指定其驱逐策略?

如何创建一个AsyncLoadingCache实例并指定其驱逐策略?

展开
收起
冲冲冲c 2024-06-21 20:29:56 19 0
1 条回答
写回答
取消 提交回答
  • 你可以使用Caffeine.newBuilder().buildAsync()方法来创建一个AsyncLoadingCache实例,并通过链式调用配置驱逐策略。例如,基于容量驱逐的策略可以通过.maximumSize(10_000)设置,而基于权重的驱逐策略则可以通过.maximumWeight(10_000).weigher((Key key, Graph graph) -> graph.vertices().size())设置。具体的创建代码如下:

    
     AsyncLoadingCache<Key, Graph> cache = Caffeine.newBuilder() 
     .maximumSize(10_000) // 基于容量驱逐 
     // 或 
     // .maximumWeight(10_000) 
     // .weigher((Key key, Graph graph) -> graph.vertices().size()) // 基于权重驱逐 
     .buildAsync(key -> createExpensiveGraph(key)); // 异步加载函数
    
    2024-06-21 21:15:25
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载