Ich versuche zu unter wie Kryo
Serlisierung funktioniert. Ich habe eine sehr große HashMap, die ich in Redis
schieben möchte. Die HashMap ist:Serialize HashMap in Redis mit Kryo
HashMap<String, HashMap<String, Set<Long>>> cache = new HashMap<>();
Was ist der schnellste Weg in Redis
zu serialisiert?
Option 1: Direkt in Redis?
Ich sehe, dass Sie Kryo
wie verwenden:
Kryo kryo = new Kryo();
kryo.register(HashMap.class);
Output output = //For Redis what would the output be ?
kryo. writeObject(output, cache)
Aber ich bin verwirrt, was Output
sein sollte, wenn Redis
verwenden.
Option 2: Über ein Byte-Array?
habe ich auch, dass das vielleicht möglich folgendes gesehen:
mirJedis jedis = new Jedis("localhost");
Kryo kryo = new Kryo();
kryo.register(HashMap.class);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Output output = new Output(stream);
kryo.writeObject(output, cache);
output.close();
byte[] buffer = stream.toByteArray();
jedis.set("Test", buffer);
Aber das scheint ineffizient, da ich effektiv bin mein großen Cache in einen Byte-Array „Klonen“.
Was ist ein effizienter Ansatz für dieses Problem?