首页 > 解决方案 > Spring boot Cache Abstraction 自定义实现

问题描述

我有一个用例,我需要在 Spring Boot 应用程序中处理批量获取和单个查询。最近我意识到这不能用 @Cacheable 注释来完成,因为无法处理部分错过的情况。

有什么方法可以直接访问 hazel cast 缓存实例并在其上构建一个包装器?

使用此缓存将是相同的,但基于用例我可以添加 @Cacheable 或调用自定义实现。

标签: javaspring-bootcachinghazelcast

解决方案


您可以获取 的句柄CacheManager,然后Cache像这样访问所需的对象:

@Bean
public CommandLineRunner run(CacheManager mgr) {
    return args -> {
        Cache cache = mgr.getCache("foo");
        // do something with cache
    };
}

请注意,这CommandLineRunner只是一个示例,但它显示了如何获取 的句柄CacheManager、从中获取相关Cache信息并将其注入到您自己的 bean 中。


推荐阅读