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:

posted @ 2023-06-14 19:15  gengone  阅读(168)  评论(0编辑  收藏  举报