From d15c66c1fec9e553090ac1d047c3095ac8ce0e28 Mon Sep 17 00:00:00 2001 From: Parker Date: Fri, 18 Sep 2020 16:27:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B9=BF=E6=92=ADID=20?= =?UTF-8?q?=EF=BC=8C=20=E5=AF=B9=E4=BA=8E=E8=87=AA=E8=BA=AB=E5=B9=BF?= =?UTF-8?q?=E6=92=AD=E4=B8=8D=E5=81=9A=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cache/pushsub/entity/CacheDataEntity.java | 25 +++++++++++++++++++ .../pushsub/handler/EdenDataHandler.java | 2 +- .../cache/pushsub/handler/HotDataHandler.java | 2 +- .../receiver/RedisPushSubReceiver.java | 6 +++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 opsli-core/src/main/java/org/opsli/core/cache/pushsub/entity/CacheDataEntity.java diff --git a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/entity/CacheDataEntity.java b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/entity/CacheDataEntity.java new file mode 100644 index 00000000..6f462391 --- /dev/null +++ b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/entity/CacheDataEntity.java @@ -0,0 +1,25 @@ +package org.opsli.core.cache.pushsub.entity; + +import lombok.Data; +import org.opsli.core.cache.pushsub.enums.PushSubType; + +/** + * @BelongsProject: opsli-boot + * @BelongsPackage: org.opsli.core.cache.pushsub.entity + * @Author: Parker + * @CreateTime: 2020-09-18 00:01 + * @Description: 热点数据处理 Entity + */ +@Data +public class CacheDataEntity { + + /** key */ + private String key; + + /** 数据类型 */ + private PushSubType type; + + /** 缓存名称 */ + private String cacheName; + +} diff --git a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/EdenDataHandler.java b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/EdenDataHandler.java index 690095b5..6598242b 100644 --- a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/EdenDataHandler.java +++ b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/EdenDataHandler.java @@ -30,7 +30,7 @@ public class EdenDataHandler implements RedisPushSubHandler{ // 缓存更新 if(CacheType.UPDATE == type){ - CacheUtil.putByEden(key, value); + CacheUtil.putEdenByKeyOriginal(key, value); } // 缓存删除 else if(CacheType.DELETE == type){ diff --git a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/HotDataHandler.java b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/HotDataHandler.java index c3d40d02..e94066dd 100644 --- a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/HotDataHandler.java +++ b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/handler/HotDataHandler.java @@ -30,7 +30,7 @@ public class HotDataHandler implements RedisPushSubHandler{ // 缓存更新 if(CacheType.UPDATE == type){ - CacheUtil.put(key, value); + CacheUtil.putByKeyOriginal(key, value); } // 缓存删除 else if(CacheType.DELETE == type){ diff --git a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/receiver/RedisPushSubReceiver.java b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/receiver/RedisPushSubReceiver.java index f94e89f3..996f13df 100644 --- a/opsli-core/src/main/java/org/opsli/core/cache/pushsub/receiver/RedisPushSubReceiver.java +++ b/opsli-core/src/main/java/org/opsli/core/cache/pushsub/receiver/RedisPushSubReceiver.java @@ -2,6 +2,7 @@ package org.opsli.core.cache.pushsub.receiver; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +import org.opsli.common.enums.SystemInfo; import org.opsli.common.utils.PackageUtil; import org.opsli.core.cache.pushsub.enums.PushSubType; import org.opsli.core.cache.pushsub.handler.RedisPushSubHandler; @@ -98,6 +99,11 @@ public class RedisPushSubReceiver extends BaseReceiver { String substring = replaceAll.substring(1, replaceAll.length() - 1); JSONObject msgJson = JSONObject.parseObject(substring); String type = (String) msgJson.get(BaseSubMessage.BASE_TYPE); + String identifier = (String) msgJson.get(BaseSubMessage.BASE_ID); + // 本机不广播 + if(SystemInfo.INSTANCE.getSystemID().equals(identifier)){ + return; + } PushSubType pt = PushSubType.valueOf(type); RedisPushSubHandler redisPushSubHandler = HANDLER_MAP.get(pt); if(redisPushSubHandler == null){