跨服排行榜,代码调整,无逻辑修改
parent
4073fc2579
commit
61b39fe7c3
|
|
@ -40,35 +40,36 @@ public class CrossRankManager {
|
|||
*/
|
||||
public void crossRankHandle(){
|
||||
// 时间验证
|
||||
if (isTime()){
|
||||
// 全部排行遍历
|
||||
for (RankEnum value : RankEnum.values()) {
|
||||
int type = value.getType();
|
||||
//跨服
|
||||
if(RankContext.isCrossRank2(type) && RankContext.isCrossRank(type)){
|
||||
// 获取分组id,是否跨服
|
||||
int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup();
|
||||
if(crossGroup != -1){
|
||||
AbstractRank rank = RankContext.getRankEnum(type);
|
||||
// 获取跨服key
|
||||
String key = RedisUtil.getInstence().getKeyNew(rank.getCrossRedisKey(),"");
|
||||
// 清理旧榜数据
|
||||
RedisUtil.getInstence().del(key);
|
||||
// 获取本组的服务器列表
|
||||
List<String> servers = GlobleSystemLogic.getInstence().getCrossServersByGroup();
|
||||
for (String server : servers) {
|
||||
String localKey = RedisUtil.getInstence().getKeyNew(server, rank.getRedisKey());
|
||||
// 获取本地服排行榜数据
|
||||
Set<ZSetOperations.TypedTuple<String>> range =
|
||||
RedisUtil.getInstence().getZsetreverseRangeWithScores(localKey,"",0,100, false);
|
||||
if (range == null || range.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
// 批量放入跨服排行榜
|
||||
RedisUtil.getInstence().zsetAddAall(key,range);
|
||||
if (!isTime()) {
|
||||
return;
|
||||
}
|
||||
// 全部排行遍历
|
||||
for (RankEnum value : RankEnum.values()) {
|
||||
int type = value.getType();
|
||||
//跨服
|
||||
if(RankContext.isCrossRank2(type) && RankContext.isCrossRank(type)){
|
||||
// 获取分组id,是否跨服
|
||||
int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup();
|
||||
if(crossGroup != -1){
|
||||
AbstractRank rank = RankContext.getRankEnum(type);
|
||||
// 获取跨服key
|
||||
String key = RedisUtil.getInstence().getKeyNew(rank.getCrossRedisKey(),"");
|
||||
// 清理旧榜数据
|
||||
RedisUtil.getInstence().del(key);
|
||||
// 获取本组的服务器列表
|
||||
List<String> servers = GlobleSystemLogic.getInstence().getCrossServersByGroup();
|
||||
for (String server : servers) {
|
||||
String localKey = RedisUtil.getInstence().getKeyNew(server, rank.getRedisKey());
|
||||
// 获取本地服排行榜数据
|
||||
Set<ZSetOperations.TypedTuple<String>> range =
|
||||
RedisUtil.getInstence().getZsetreverseRangeWithScores(localKey,"",0,100, false);
|
||||
if (range == null || range.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
LOGGER.info("=====================跨服排行榜处理========,key:{}",key);
|
||||
// 批量放入跨服排行榜
|
||||
RedisUtil.getInstence().zsetAddAall(key,range);
|
||||
}
|
||||
LOGGER.info("=====================跨服排行榜处理========,key:{}",key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -76,7 +77,6 @@ public class CrossRankManager {
|
|||
|
||||
/**
|
||||
* 每隔两小时刷新一次
|
||||
* @return
|
||||
*/
|
||||
private boolean isTime(){
|
||||
int group = GlobleSystemLogic.getInstence().getCrossGroup();
|
||||
|
|
@ -89,7 +89,7 @@ public class CrossRankManager {
|
|||
return false;
|
||||
}
|
||||
String timeStamp2 = TimeUtils.getTimeStamp2(TimeUtils.now() + TimeUtils.HOUR * 2);
|
||||
RedisUtil.getInstence().set(key,timeStamp2,TimeUtils.HOUR*2/1000);
|
||||
RedisUtil.getInstence().set(key,timeStamp2,TimeUtils.HOUR * 2 / 1000);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue