RedisPlugin的多环境下如何使用?

现在通过properties设置test环境和prod环境

但是RedisPlugin连接的是线上的redis,现在希望是本地开发时,配置test不影响线上的redis

这是如何配置呢?


现在是在同一个db内会影响到同名key的值,cacheName在test环境与prod环境不同

评论区

JFinal

2020-01-03 12:03

下载首页的 jfinal_demo_for_maven.zip,找到 DemoConfig.java 中的下面一行代码:
p = PropKit.useFirstFound("demo-config-pro.txt", "demo-config-dev.txt");

学会这种用法后,问题自然化解

lyq027

2020-01-03 14:59

@JFinal

public static void readConfig(){
Prop config = PropKit.use("config.properties");
String activeConfig = PropKit.get("profiles.active");
if(StrKit.notBlank(activeConfig)){
config.appendIfExists("config-"+activeConfig+".properties");
}
}

我是用这种写法做的配置,获取profiles.active的值,再拼接取相应的配置文件

RedisPlugin redis = new RedisPlugin(PropKit.get("redis.name"), PropKit.get("redis.host"), PropKit.getInt("redis.port"), PropKit.get("redis.pwd"));
me.add(redis);

redis.name表示cacheName

在开发环境配置文件中,redis.name为app-test,在生产环境配置文件中redis.name为app,redis.host两个环境都直接连接在线上的redis服务器

由于本地没有redis服务器,直接使用线上的。希望是通过redis.name做区分,然后取对应环境的值

现在有个疑问,直接通过cacheName做区分,值会共用。那是redis不能直接使用cacheName来做隔离吗