From 9ebfafbeef65de0a8d72980f3776300c16bb4aa7 Mon Sep 17 00:00:00 2001 From: md5nake <25557150+md5nake@users.noreply.github.com> Date: Sat, 18 May 2024 12:59:24 +0200 Subject: [PATCH] Invalidate serversToPlayersCache on player updates (#103) This closes #102 --- .../redisbungee/api/PlayerDataManager.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java b/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java index a867007..9108b75 100644 --- a/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java +++ b/api/src/main/java/com/imaginarycode/minecraft/redisbungee/api/PlayerDataManager.java @@ -37,15 +37,16 @@ import java.util.concurrent.TimeUnit; public abstract class PlayerDataManager { protected final RedisBungeePlugin

plugin; + private final Object SERVERS_TO_PLAYERS_KEY = new Object(); + private final UnifiedJedis unifiedJedis; + private final String proxyId; + private final String networkId; private final LoadingCache serverCache = Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build(this::getServerFromRedis); private final LoadingCache lastServerCache = Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build(this::getLastServerFromRedis); private final LoadingCache proxyCache = Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build(this::getProxyFromRedis); private final LoadingCache ipCache = Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build(this::getIpAddressFromRedis); - private final Object SERVERS_TO_PLAYERS_KEY = new Object(); private final LoadingCache> serverToPlayersCache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES).build(this::serversToPlayersBuilder); - private final UnifiedJedis unifiedJedis; - private final String proxyId; - private final String networkId; + private final JSONComponentSerializer COMPONENT_SERIALIZER = JSONComponentSerializer.json(); public PlayerDataManager(RedisBungeePlugin

plugin) { this.plugin = plugin; @@ -69,16 +70,21 @@ public abstract class PlayerDataManager