在 Spring Boot 和 Redis 中使用 @Cacheable 与 Spring MongoDB 集成进行缓存

dem*_*g0d 5 redis spring-cache spring-mongodb

我想知道是否可以在 spring data mongo 存储库上使用 @Cacheable 注释。例如这样:

public interface UserRepository extends MongoRepository<User, String> {

    @Cacheable("byId")
    public interface UserRepository extends MongoRepository<User, String> {
        User findById(String id);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在接口类本身上执行此操作,并尽可能避免使用包装类。另外,是否有关于如何使用java配置(而不是xml)为redis进行缓存配置的示例?

Uli*_*ses 2

是的,您可以Cacheable在任何具有 spring 方面的公共方法上使用。您还必须EnableCaching在任何配置类和可选的CacheManagerbean 中使用。