back_recharge
zhangshanxue 2020-08-17 10:26:46 +08:00
parent 2826ce87de
commit b643307e5a
6 changed files with 13 additions and 80 deletions

View File

@ -2,23 +2,14 @@ package com.ljsd;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.mongo.AreaManager;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.Cursor;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ZSetOperations;
import java.io.*;
import java.net.URL;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;
public class DbClear {
public static void main(String[] args) throws IOException {
@ -29,67 +20,11 @@ public class DbClear {
System.out.println(file.getAbsolutePath());
properties.load(new FileReader(file));
String property = properties.getProperty("spring.data.mongodb.uri");
// MongoClientURI mongoClientURI = new MongoClientURI(property);
// MongoClient mongoClient = new MongoClient(mongoClientURI);
// mongoClient.dropDatabase(mongoClientURI.getDatabase());
MongoClientURI mongoClientURI = new MongoClientURI(property);
MongoClient mongoClient = new MongoClient(mongoClientURI);
mongoClient.dropDatabase(mongoClientURI.getDatabase());
StringRedisTemplate redisTemplate = getRedisTemplate();
RedisUtil.getInstence().testTemp(redisTemplate);
// Set<String> keys = redisTemplate.keys(properties.get("server.id") + "*" + "RANK*");
// Set<String> keys = redisTemplate.scan(10161+ "*" + "RANK*");
Set<String> keys =new HashSet<>();
Cursor<String> cursor =RedisUtil.getInstence().scan( 10161+ "*" + "RANK*", 200);
while (cursor.hasNext()){
//找到一次就添加一次
keys.add(cursor.next());
}
cursor.close();
// redisTemplate.delete(redisTemplate.keys(properties.get("server.id")+"*"));
keys.forEach(k->{
// List<String> keyList = RedisUtil.getInstence().get(k, "", String.class, GlobalsDef.REDIS_OVER_FOREVER);
// List<String> keyListTarget = RedisUtil.getInstence().getListForNewArea(k, "", String.class, GlobalsDef.REDIS_OVER_FOREVER);
// if (!keyList.isEmpty()) {
// for (String heroTidInfo : keyList) {
// String useNum = RedisUtil.getInstence().redisGetValue(heroTidInfo);
// String heroTid = heroTidInfo.split(RedisKey.Delimiter_colon)[2];
// String key = newAreaId + RedisKey.Delimiter_colon + k + RedisKey.Delimiter_colon + heroTid;
// RedisUtil.getInstence().incrValue(key, Long.parseLong(useNum));
// if (!keyListTarget.contains(key)) {
// RedisUtil.getInstence().putListEntryForNewArea(k, "", key, 0, GlobalsDef.REDIS_OVER_FOREVER);
// }
// }
// }
// Long fightTimes = RedisUtil.getInstence().getObject(k,
// RedisKey.Fight_Times_Flag, Long.class, GlobalsDef.REDIS_OVER_FOREVER);
// String fightTimesKey = RedisUtil.getInstence().getKeyForArea(k, RedisKey.Fight_Times_Flag);
// if (fightTimes == null) {
// return;
// }
// RedisUtil.getInstence().incrValue(fightTimesKey, fightTimes);
Set<ZSetOperations.TypedTuple<String>> set= RedisUtil.getInstence().getAllZsetRange(k);
// if(k.startsWith("10161")){
// int length =k.length();
// k = "20161"+k.substring(String.valueOf("10161").length(),length);
// }
// if(null != set){
// for(ZSetOperations.TypedTuple<String> item : set){
// String id = item.getValue();
// Double score = item.getScore();
// RedisUtil.getInstence().zsetAddOne(k,id,score);
// }
// }
System.out.println("\r\nk = " + k+":"+set.size());
});
redisTemplate.delete(redisTemplate.keys(properties.get("server.id")+"*"));
System.out.println("the mongo url=" + property);

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.config.json.CoreSettings;
import com.ljsd.jieling.config.json.ServerConfiguration;
import com.ljsd.jieling.config.json.ServerProperties;
import com.ljsd.jieling.core.CoreLogic;
import com.ljsd.jieling.db.mongo.AreaManager;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
@ -52,6 +53,7 @@ public class GameApplication {
CoreSettings coreSettings = ConfigurableApplicationContextManager.getBean(CoreSettings.class);
GameApplication.areaId = coreSettings.getArea();
LOGGER.info("ServerProperties ->{},coreIp=>{}", serverProperties.toString());
MongoUtil.getInstence().init();
GameLogicService.getInstance().init();
//设置开服时间

View File

@ -47,8 +47,6 @@ public class GameLogicService implements IService {
@Override
public void init() throws Exception {
MongoUtil.getInstence().init();
AreaManager.getInstance().init();
RedisUtil.getInstence().init();
MongoUtil.getLjsdMongoTemplate().getMongoTemplate(GameApplication.serverId).getCollection(User.getCollectionName()).createIndex("playerManager.level");
registerServerInfoToRedis();

View File

@ -172,7 +172,7 @@ public class AreaManager {
serverArenaInfoManagerCache = serverArenaInfoManager;
int tmpAreaId = areaId;
//处理天才站结算
boolean isSuccess = RedisUtil.getInstence().tryGetDistributedLock(RedisKey.ServerArenaJob, Integer.toString(tmpAreaId), Integer.toString(tmpAreaId), 500);
boolean isSuccess = RedisUtil.getInstence().tryGetDistributedLock(RedisKey.ServerArenaJob, "", Integer.toString(newAreaId), 500);
if (isSuccess) {
LOGGER.info(" serverArenaInfoManager get redis lock,the serverid={},the oldArea={},the newArea={}", GameApplication.serverId, areaId, newAreaId);
try {
@ -190,7 +190,7 @@ public class AreaManager {
} catch (Exception e) {
LOGGER.error(" serverArenaInfoManager get exception", e);
} finally {
RedisUtil.getInstence().releaseDistributedLock(RedisKey.ServerArenaJob, Integer.toString(tmpAreaId), Integer.toString(tmpAreaId));
RedisUtil.getInstence().releaseDistributedLock(RedisKey.ServerArenaJob,"", Integer.toString(newAreaId));
}
}
LOGGER.info(" serverArenaInfoManager not get redis lock,the serverid={},the oldArea={},the newArea={}", GameApplication.serverId, areaId, newAreaId);
@ -221,7 +221,7 @@ public class AreaManager {
//合并玩家名称、
processChangeName();
//合并玩家名称、
//合并公会名称、
processChangeGuildName();
//更新入库
@ -329,9 +329,6 @@ public class AreaManager {
LOGGER.info("合并命名异常" + e.toString());
}
}
@ -341,7 +338,6 @@ public class AreaManager {
try {
//合并名称
//查找本服所有名称
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.guildInfoMap;
for(Map.Entry<Integer, GuildInfo> entry:guildInfoMap.entrySet()) {
@ -359,8 +355,8 @@ public class AreaManager {
}
try {
entry.getValue().setName(entry.getValue().getName());
entry.getValue().setName(tempName);
Set<Integer> chairmans = entry.getValue().getMembers().get(GlobalsDef.CHAIRMAN);
for (Integer userId : chairmans) {

View File

@ -68,6 +68,8 @@ public class MongoUtil {
myMongoTemplate = ConfigurableApplicationContextManager.getBean(LjsdMongoTemplate.class);
coreMongoTemplate = (MongoTemplate) ConfigurableApplicationContextManager.getBean("coreMongoTemplate");
mongoClient = (MongoClient) ConfigurableApplicationContextManager.getBean("mongoClient");
AreaManager.getInstance().init();
List<CServerInfo> cServerInfos = coreMongoTemplate.findAll(CServerInfo.class);
for (CServerInfo cServerInfo : cServerInfos) {
getMonogTemplate(cServerInfo.getServerId());

View File

@ -1211,7 +1211,7 @@ public class RedisUtil {
// return GameApplication.serverProperties.getAreaId()+ RedisKey.Delimiter_colon+type + RedisKey.Delimiter_colon+key;
// }
if(RedisKey.TOKEN.equals(type)||RedisKey.USER_SERVER_INFO.equals(type)||
RedisKey.CDKEY.equals(type)){
RedisKey.CDKEY.equals(type)||RedisKey.ServerArenaJob.equals(type)){
return type + RedisKey.Delimiter_colon + key;
}