Spring系列之Spring Cache缓存注解的使用
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@Service
public class SomeService {
// 使用Cacheable注解缓存方法的返回结果
@Cacheable(value = "sampleCache", key = "#id")
public SomeObject findById(Integer id) {
// 模拟数据库查询
return new SomeObject(id, "Value for " + id);
}
// 使用Cacheable注解和Condition来根据条件缓存结果
@Cacheable(value = "conditionalCache", condition = "#id % 2 == 0")
public SomeObject findByIdWithCondition(Integer id) {
// 模拟数据库查询
return new SomeObject(id, "Value for " + id);
}
}
class SomeObject {
private Integer id;
private String value;
public SomeObject(Integer id, String value) {
this.id = id;
this.value = value;
}
// Getters and Setters
}
这个代码示例展示了如何在Spring应用中使用@Cacheable
注解来缓存方法的返回结果。findById
方法会根据提供的id
来查询数据,并将结果存储在名为sampleCache
的缓存中。findByIdWithCondition
方法则使用了condition
属性来根据条件(即id
是否能被2整除)来决定是否缓存结果。这些示例展示了如何通过简单的注解来增强应用的性能,并减少数据库的负载。
评论已关闭