SpringCache-KeyGenerator
实际项目中,如果使用统一的key的生成方式,可以自定义KeyGenerator。
参考如下代码:
点击查看代码
@Bean
public KeyGenerator keyGenerator() {
return new KeyGenerator() {
@Override
public Object generate(Object target, Method method, Object... params) {
return target.getClass().getSimpleName() + "_" + method.getName() + "_" + StringUtils.arrayToDelimitedString(params, "_");
}
};
}
定义好KeyGenerator之后,就可以在注解中进行引用,如下:
点击查看代码
@Override
@Cacheable(value = {"query1"},keyGenerator = "keyGenerator",cacheManager = "cacheManagerTTL")
public TestUser testCacheQuery(Integer id) {
return testUserMapper.selectById(id);
}
调用方法后可以查看redis的key: