JetCache动态修改name

背景

公司因为自己封装的redisUtils查询缓慢,换用了阿里JetCache。由于目前公司基础架构组尚未提供一些查询线上数据的redis小工具,故决定自己封装一个。

JetCache基础属性有area,name,key等,area主要用于连接多个缓存系统,故暂时无需考虑,在这个过程中需要考虑的是name,根据官方文档描述,

name:指定缓存的名称,不是必须的,如果没有指定,会使用类名+方法名。name会被用于远程缓存的key前缀。另外在统计中,一个简短有意义的名字会提高可读性。如果两个@CreateCache的name和area相同,它们会指向同一个Cache实例

故,要出一个缓存小工具,那就必须要有动态修改name的功能,本篇博客就应运而生了

@CreateCache
protected Cache cache;

/**
     * Description:修改缓存name
     * 作者:Marco.Gu
     * date:2020/1/6 10:54
     *
     * @return void
     * @Param: name
     */
    protected void changeName(String name) {
        if (StringUtils.isNotBlank(name)) {
            RedisLettuceCacheConfig config = (RedisLettuceCacheConfig) cache.config();
            config.setKeyPrefix(name);
        }
    }

name要作为必传参数,否则会被类名+方法名给覆盖

你可能感兴趣的:(Redis)