From e56d822bdeb9c379d82a64362808ba104f0edde3 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 26 Mar 2022 19:26:39 +0100 Subject: [PATCH] redis tests - hashes --- .../proxy/listener/PostLoginListener.java | 3 +++ .../proxy/redis/RedisHashCommands.java | 18 ++++++++++++++++++ .../net/krakatoa/proxy/redis/RedisManager.java | 3 ++- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/krakatoa/proxy/redis/RedisHashCommands.java diff --git a/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java b/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java index af5119f..b64fba9 100644 --- a/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java +++ b/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java @@ -116,6 +116,9 @@ public class PostLoginListener implements Listener { .set("player:" + proxiedPlayer.getUniqueId().toString(), packer.toByteArray()); + ProxySystem.getInstance().getRedisManager().getRedisHashCommands() + .hset("player", proxiedPlayer.getUniqueId().toString(), "online"); + MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(packer.toByteArray()); String playerName = unpacker.unpackString(); diff --git a/src/main/java/net/krakatoa/proxy/redis/RedisHashCommands.java b/src/main/java/net/krakatoa/proxy/redis/RedisHashCommands.java new file mode 100644 index 0000000..7b25c46 --- /dev/null +++ b/src/main/java/net/krakatoa/proxy/redis/RedisHashCommands.java @@ -0,0 +1,18 @@ +package net.krakatoa.proxy.redis; + +import io.lettuce.core.Value; +import io.lettuce.core.dynamic.Commands; +import io.lettuce.core.dynamic.annotation.Key; +import java.util.Map; +import reactor.core.publisher.Mono; + +public interface RedisHashCommands extends Commands { + + Mono hdel(Key key, Key... fields); + + Mono hset(Key key, Key field, Value value); + + Boolean hset(String key, String field, String value); + + Mono hmset(Key key, Map map); +} diff --git a/src/main/java/net/krakatoa/proxy/redis/RedisManager.java b/src/main/java/net/krakatoa/proxy/redis/RedisManager.java index d378230..817989f 100644 --- a/src/main/java/net/krakatoa/proxy/redis/RedisManager.java +++ b/src/main/java/net/krakatoa/proxy/redis/RedisManager.java @@ -15,12 +15,13 @@ public class RedisManager { //private RedisKeyReactiveCommands keyReactiveCommands; private RedisKeyCommands redisKeyCommands; + private RedisHashCommands redisHashCommands; public void connect() { this.client = RedisClient.create(this.getConnectionUri()); RedisCommandFactory factory = new RedisCommandFactory(client.connect()); this.redisKeyCommands = factory.getCommands(RedisKeyCommands.class); - + this.redisHashCommands = factory.getCommands(RedisHashCommands.class); //this.connection = client.connect(); //this.commands = connection.sync(); //this.keyReactiveCommands = this.connection.reactive();