jetcache area的名称是否支持自定义默认的名称

icnyk63a  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(58)

我的使用场景是这样的,有dev ,test, prd 3个环境。我想要area的名称和这3个环境的名称对应起来,是否支持?
因为dev和test的redis是同一个,所以如果不区分的话,会造成dev和test2个环境的redis数据想到覆盖影响。
我现在想到的办法是在配置文件中加了一个参数env_flag =dev或 env_flag=test
但我不知道应该如果将这个env_flag的值,传给area?
类似于
@value("${env_flag}")
private String myCacheArea;

@cached(area="这里希望能用到上面的myCacheArea的值",name="findxxxx",key="xxx",cacheType = CacheType.BOTH)

或者是能在配置文件中提供一个参数能指定一下area的名称也行,现在我看配置文件中没办法修改默认参数的名称,只能是默认找default,有没有办法提供个参数可以设置默认area的名称?

2cmtqfgy

2cmtqfgy1#

有遇到类似的场景.

可以在GlobalCacheConfig设置area不作为Key前缀——com.alicp.jetcache.anno.support.GlobalCacheConfig#setAreaInCacheName
然后在cacheBuilder中设置对应keyPrefix(比如根据不同profile设置不同的keyPrefix对应你的dev,test,prd)

ndh0cuux

ndh0cuux2#

你看下代码,有个keyPrefix属性

相关问题