Spring 引导缓存抽象自定义实现

Spring boot Cache Abstraction custom implementation

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

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

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

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

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

注意 CommandLineRunner 只是一个示例,但它显示了如何获取 CacheManager 的句柄,从中获取相关的 Cache,并将其注入你自己的豆子。