修改数据同步的逻辑

This commit is contained in:
renkaige
2018-10-15 18:13:20 +08:00
parent 300ee99140
commit b92285f53f

View File

@@ -37,7 +37,7 @@ public class SyncRedisToCluster {
// private JedisSentinelPool jedisSentinelPool; // private JedisSentinelPool jedisSentinelPool;
// @Scheduled(cron = "0/3 * * * * ?") // @Scheduled(cron = "0/3 * * * * ?")
@Scheduled(cron = "${syncRedisToClusterCron}") // @Scheduled(cron = "${syncRedisToClusterCron}")
public void syncRedisToCluster() { public void syncRedisToCluster() {
try { try {
// keys("EFFECTIVE_RULE*"); // keys("EFFECTIVE_RULE*");
@@ -59,11 +59,17 @@ public class SyncRedisToCluster {
logger.info("redis集群中的MAAT_VERSION与配置库中的MAAT_VERSION相等,暂不执行配置同步操作"); logger.info("redis集群中的MAAT_VERSION与配置库中的MAAT_VERSION相等,暂不执行配置同步操作");
} }
} else { } else {
logger.info("redis-{}号库中MAAT_VERSION为null,说明没有配置,暂时不执行配置同步",redisStatisticsRealDBIndex); logger.info("redis配置库中MAAT_VERSION为null,但是redis集群中的MAAT_VERSION为{},集群与配置库的数据不同步,开始删除集群中的配置",
clusterMaatVersionStr);
delClusterData();
} }
} else { } else {
logger.info("redis集群中的MAAT_VERSION为null,开始执行全量同步"); if (redisMaatVersionStr != null && !redisMaatVersionStr.trim().equals("")) {
logger.info("redis配置库中的MAAT_VERSION为{},redis集群中的MAAT_VERSION为null,开始执行全量同步", redisMaatVersionStr);
syncAllData(redisMaatVersionStr); syncAllData(redisMaatVersionStr);
} else {
logger.info("redis配置库中和redis集群中的MAAT_VERSION都为null,暂时不执行全量同步");
}
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("同步配置库配置到3A-redisCluster失败,失败原因:{}", ExceptionUtil.getExceptionMsg(e)); logger.error("同步配置库配置到3A-redisCluster失败,失败原因:{}", ExceptionUtil.getExceptionMsg(e));
@@ -132,8 +138,8 @@ public class SyncRedisToCluster {
return keys; return keys;
} }
public void syncAllData(String version) { public void delClusterData() {
// 清空集群库配置数据 // 清空集群库配置数据
if (jedisCluster.exists("MAAT_UPDATE_STATUS")) { if (jedisCluster.exists("MAAT_UPDATE_STATUS")) {
jedisCluster.del("MAAT_UPDATE_STATUS"); jedisCluster.del("MAAT_UPDATE_STATUS");
logger.info("删除MAAT_UPDATE_STATUS成功"); logger.info("删除MAAT_UPDATE_STATUS成功");
@@ -146,6 +152,10 @@ public class SyncRedisToCluster {
logger.info("删除EFFECTIVE_RULE*成功"); logger.info("删除EFFECTIVE_RULE*成功");
deleteRedisKeyStartWith("OBSOLETE_RULE*"); deleteRedisKeyStartWith("OBSOLETE_RULE*");
logger.info("删除OBSOLETE_RULE*成功"); logger.info("删除OBSOLETE_RULE*成功");
}
public void syncAllData(String version) {
delClusterData();
syncData(null, null, version); syncData(null, null, version);
} }