add JedisCLuster methods to the api

This commit is contained in:
mohammed jasem alaajel 2022-07-16 16:32:10 +04:00
parent b910fa5eb6
commit 81a2af8179
4 changed files with 18 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.gson.Gson;
import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Pipeline;
import java.util.UUID;
@ -31,6 +32,15 @@ public class RedisUtil {
UUID.fromString(player), RedisBungeeAPI.getRedisBungeeApi().getServerId(), AbstractDataManager.DataManagerMessage.Action.LEAVE,
new AbstractDataManager.LogoutPayload(timestamp))));
}
public static void cleanUpPlayer(String player, JedisCluster rsc) {
rsc.srem("proxy:" + RedisBungeeAPI.getRedisBungeeApi().getServerId() + ":usersOnline", player);
rsc.hdel("player:" + player, "server", "ip", "proxy");
long timestamp = System.currentTimeMillis();
rsc.hset("player:" + player, "online", String.valueOf(timestamp));
rsc.publish("redisbungee-data", gson.toJson(new AbstractDataManager.DataManagerMessage<>(
UUID.fromString(player), RedisBungeeAPI.getRedisBungeeApi().getServerId(), AbstractDataManager.DataManagerMessage.Action.LEAVE,
new AbstractDataManager.LogoutPayload(timestamp))));
}
public static boolean isRedisVersionRight(String redisVersion) {
// Need to use >=6.2 to use Lua optimizations.

View File

@ -275,6 +275,12 @@ public final class UUIDTranslator {
jedis.hmset("uuid-cache", ImmutableMap.of(name.toLowerCase(), json, uuid.toString(), json));
}
public void persistInfo(String name, UUID uuid, Pipeline pipeline) {
addToMaps(name, uuid);
String json = gson.toJson(uuidToNameMap.get(uuid));
pipeline.hmset("uuid-cache", ImmutableMap.of(name.toLowerCase(), json, uuid.toString(), json));
}
public void persistInfo(String name, UUID uuid, JedisCluster jedisCluster) {
addToMaps(name, uuid);
String json = gson.toJson(uuidToNameMap.get(uuid));

View File

@ -1,8 +1,8 @@
# RedisBungee configuration file.
# PLEASE READ THE WIKI: https://github.com/ProxioDev/RedisBungee/wiki
# Cluster Mode its in different config file redis-cluster.yml
# enabling this option will ignore redis config of this file
# Cluster Mode
# enabling this option will enable cluster mode.
cluster-mode-enabled: false
# The Redis server you use.