@Caching :制定多个缓存规则
@Cacheable 和 @CachePut 同时标注时 ,@CachePut导致还是会走方法跟数据库交互
//根据lastName查,并将结果缓存,并且可以用于下次通过id或者email查询 (因为有Cacheput注解,所有根据lastName查的方法还是会执行) @Caching( cacheable = {@Cacheable(/*value = "emp",*/key = "#lastName")}, put = {@CachePut(/*value = "emp",*/key = "#result.id"),@CachePut(/*value = "emp",*/key = "#result.email")} ) public Employee getEmpByLastName(String lastName){ System.out.println("根据...."+lastName+"查询员工"); return employeeMapper.getEmpByLastName(lastName); }
另外:
@CacheConfig :抽取缓存公共配置,可以标注在类上
如:
@CacheConfig(cacheNames = "emp") @Service public class EmployeeService