fix: cache not cleared on `/userdata delete`, close #245

feat/data-edit-commands 3.3.2
William278 1 year ago
parent 19636d9447
commit 131a364f53

@ -112,13 +112,14 @@ public class UserDataCommand extends Command implements TabProvider {
return;
}
// Delete user data by specified UUID
// Delete user data by specified UUID and clear their data cache
final UUID version = optionalUuid.get();
if (!plugin.getDatabase().deleteSnapshot(user, version)) {
plugin.getLocales().getLocale("error_invalid_version_uuid")
.ifPresent(executor::sendMessage);
return;
}
plugin.getRedisManager().clearUserData(user);
plugin.getLocales().getLocale("data_deleted",
version.toString().split("-")[0],

@ -255,6 +255,18 @@ public class RedisManager extends JedisPubSub {
}
}
@Blocking
public void clearUserData(@NotNull User user) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.del(
getKey(RedisKeyType.LATEST_SNAPSHOT, user.getUuid(), clusterId)
);
plugin.debug(String.format("[%s] Cleared %s on Redis", user.getUsername(), RedisKeyType.LATEST_SNAPSHOT));
} catch (Throwable e) {
plugin.log(Level.SEVERE, "An exception occurred clearing user data on Redis", e);
}
}
@Blocking
public void setUserCheckedOut(@NotNull User user, boolean checkedOut) {
try (Jedis jedis = jedisPool.getResource()) {

Loading…
Cancel
Save