key生成策略:类名+方法名+参数名 注解:@EnableCaching
@Configuration @EnableCaching public class RedisConfig extends CachingConfigurerSupport { @Bean public KeyGenerator keyGenerator() { return new KeyGenerator() { @Override public Object generate(Object o, Method method, Object... objects) { StringBuilder sb = new StringBuilder(); sb.append(o.getClass().getName()) .append(method.getName()); for (Object object : objects) { sb.append(object.toString()); } return sb.toString(); } }; } }@Cacheable(value = "cache-key") @CachePut 每次都会触发真实方法调用 @CachEvict 清空缓存
@Service public class CountServiceImpl implements CountService { @Autowired private CountMapper countMapper; @Override @Cacheable(value = "'count-' + '#pageNo' + '-' + '#pageSize'") public PageInfo<Count> getAllCount(int pageNo, int pageSize) { PageHelper.startPage(pageNo, pageSize); PageInfo<Count> pageInfo = new PageInfo<>(countMapper.getAllCount()); return pageInfo; } }