diff --git a/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCache.java b/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCache.java index dfaf23ae4..322d5b7e1 100644 --- a/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCache.java +++ b/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCache.java @@ -74,7 +74,7 @@ public class MongoUpdateCache { protected void update( MongoUpdateImp mongoUpdateImp){ - mongoUpdateImp.updateMongoData( requestMap); + mongoUpdateImp.updateMongoData(requestMap); requestMap.clear(); if (updateDataMap.size() !=0){ ConcurrentDataMessage.addLogQueue(new HashMap<>(updateDataMap)); @@ -82,10 +82,10 @@ public class MongoUpdateCache { } } -// public void concurrentDataUpdate(LjsdMongoTemplate ljsdMongoTemplate, Map> updateRequestMap) { -// updateMongoData(ljsdMongoTemplate, updateRequestMap); +// public void concurrentDataUpdate( Map> updateRequestMap) { +// updateMongoData(updateRequestMap); // } - +// // private void updateMongoData( Map> updateRequestMap) { // BasicDBObject searchQuery = new BasicDBObject(); // for (Map.Entry> entry : updateRequestMap.entrySet()) { diff --git a/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCacheThreadLocal.java b/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCacheThreadLocal.java index 57f542cd9..d507fd0f5 100644 --- a/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCacheThreadLocal.java +++ b/common/src/main/java/com/ljsd/common/mogodb/MongoUpdateCacheThreadLocal.java @@ -29,8 +29,9 @@ public class MongoUpdateCacheThreadLocal { mongoUpdateCache.update(mongoUpdateImp); } -// public static void concurrentDataUpdate(LjsdMongoTemplate ljsdMongoTemplate,Map> updateRequestMap) { +// public static void concurrentDataUpdate(Map> updateRequestMap) { // MongoUpdateCache mongoUpdateCache = getMongoUpdateCache(); -// mongoUpdateCache.concurrentDataUpdate(ljsdMongoTemplate, updateRequestMap); +// +// mongoUpdateCache.concurrentDataUpdate(updateRequestMap); // } } diff --git a/common/src/main/java/com/ljsd/common/mogodb/util/ConcurrentDataMessage.java b/common/src/main/java/com/ljsd/common/mogodb/util/ConcurrentDataMessage.java index 46731f451..759d010cf 100644 --- a/common/src/main/java/com/ljsd/common/mogodb/util/ConcurrentDataMessage.java +++ b/common/src/main/java/com/ljsd/common/mogodb/util/ConcurrentDataMessage.java @@ -1,6 +1,7 @@ package com.ljsd.common.mogodb.util; import com.ljsd.common.mogodb.MongoUpdateCache; +import com.ljsd.common.mogodb.MongoUpdateImp; import java.util.HashMap; import java.util.Map; @@ -14,10 +15,11 @@ public class ConcurrentDataMessage { dataQueue.offer(info); } -// public static void manageData(LjsdMongoTemplate myMongoTemplate) throws Exception { -//// Map> take = ConcurrentDataMessage.dataQueue.take(); -//// myMongoTemplate.concurrentDataUpdate(take); -//// } + public static void manageData(MongoUpdateImp myMongoTemplate) throws Exception { + Map> take = ConcurrentDataMessage.dataQueue.take(); + // myMongoTemplate.concurrentDataUpdate(take); + myMongoTemplate.updateMongoData(take); +// } public static void main(String[] args) throws InterruptedException { BlockingQueue> dataQueueTest = new BlockingUniqueQueue<>(); diff --git a/serverlogic/src/main/java/com/ljsd/GameLogicService.java b/serverlogic/src/main/java/com/ljsd/GameLogicService.java index 86e3fee14..111d7641d 100644 --- a/serverlogic/src/main/java/com/ljsd/GameLogicService.java +++ b/serverlogic/src/main/java/com/ljsd/GameLogicService.java @@ -87,7 +87,7 @@ public class GameLogicService implements IService { STableManager.initialize("config"); //mongo异步数据处理线程 - //MongoDataHandlerTask.init(); + MongoDataHandlerTask.init(); //初始化邮件 MailingSystemManager.init(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java index 24abf508d..e4390e71d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -292,10 +292,41 @@ public class RedisKey { public static Set newAreaCacChe = new HashSet<>(); + public static Set rankCacChe = new HashSet<>(); + static { newAreaCacChe.add(CHAMPION_MY_BATTLLE_IDS); newAreaCacChe.add(CHAMPION_BET_MINE); newAreaCacChe.add(CHAMPION_BET_DETAIL); + + rankCacChe.add(CHAMPION_RANK); + rankCacChe.add(MAP_RANK); + rankCacChe.add(ARENA_RANK); + rankCacChe.add(ADVENTRUEN_BOSS_RANK); + rankCacChe.add(TOWER_RANK); + rankCacChe.add(FORCE_RANK); + rankCacChe.add(AREDEF_TEAM_FORCE_RANK); + rankCacChe.add(EXPERT_RANK); + + rankCacChe.add(FORCE_CURR_RANK); + rankCacChe.add(MAIN_LEVEL_RANK); + rankCacChe.add(RANDOM_CARD_RANK); + rankCacChe.add(RANDOM_CARD_PERFECT_RANK); + + rankCacChe.add(GUILD_FORCE_RANK); + rankCacChe.add(GUILD_BOSS_RANK); + rankCacChe.add(GUILD_RED_PACKAGE_RANK); + rankCacChe.add(CAR_DEALY_RANK); + rankCacChe.add(CAR_DEALY_GUILD_RANK); + + rankCacChe.add(FAMILY_FIGHT_STAR_RANK); + rankCacChe.add(MONSTER_ATTACK_RANK); + rankCacChe.add(DEATH_PATH_EVERY_PERSON_RANK); + rankCacChe.add(DEATH_PATH_EVERY_GUILD_RANK); + rankCacChe.add(DEATH_PATH_TOTAL_PERSON_RANK); + rankCacChe.add(DEATH_PATH_TOTAL_GUILD_RANK); + rankCacChe.add(SITUATION_RANK); + } static { @@ -322,7 +353,7 @@ public class RedisKey { return GameApplication.serverProperties.getAreaId()+RedisKey.Delimiter_colon+ type+RedisKey.Delimiter_colon+key; } - if(!newAreaCacChe.contains(type)){ + if(!newAreaCacChe.contains(type)&&!rankCacChe.contains(type)){ if(key.length() == 8) { Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key,key, Integer.class, -1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java index 60220bfd7..364f9798f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java @@ -1216,7 +1216,7 @@ public class RedisUtil { } - if(!RedisKey.newAreaCacChe.contains(type)){ + if(!RedisKey.newAreaCacChe.contains(type)&&!RedisKey.rankCacChe.contains(type)){ if(key.length() == 8) { Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key,key, Integer.class, -1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MongoDataHandlerTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MongoDataHandlerTask.java index fccc23b7a..2cbd1ec42 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MongoDataHandlerTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MongoDataHandlerTask.java @@ -9,30 +9,30 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @Component public class MongoDataHandlerTask extends Thread { -// private static LjsdMongoTemplate myMongoTemplate; -// public MongoDataHandlerTask(){ -// setName("MongoDataHandlerTask"); -// } -// @Override -// public void run() { -// while (true) { -// try { -// ConcurrentDataMessage.manageData(myMongoTemplate); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// } -// public static void init(){ -// myMongoTemplate = ConfigurableApplicationContextManager.getBean(LjsdMongoTemplate.class); -//// startTlogThread(); -// } -// -// public static void startTlogThread(){ -// ExecutorService pool = Executors.newCachedThreadPool(); -// for (int i = 0; i < 1 ; i++){ -// MongoDataHandlerTask myThread = new MongoDataHandlerTask(); -// pool.execute(myThread); -// } -// } + private static LjsdMongoTemplate myMongoTemplate; + public MongoDataHandlerTask(){ + setName("MongoDataHandlerTask"); + } + @Override + public void run() { + while (true) { + try { + ConcurrentDataMessage.manageData(myMongoTemplate); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + public static void init(){ + myMongoTemplate = ConfigurableApplicationContextManager.getBean(LjsdMongoTemplate.class); +// startTlogThread(); + } + + public static void startTlogThread(){ + ExecutorService pool = Executors.newCachedThreadPool(); + for (int i = 0; i < 1 ; i++){ + MongoDataHandlerTask myThread = new MongoDataHandlerTask(); + pool.execute(myThread); + } + } }