Kryo
serileştirme işleminin nasıl yapıldığına çalışıyorum. Ben Redis
içine itmek istiyorum çok büyük bir HashMap var. HashMap geçerli:HashMap'i Kryis ile Kümeleştirin Kryo'nun Kullanılması
HashMap<String, HashMap<String, Set<Long>>> cache = new HashMap<>();
Redis
içinde seri hale getirmek en hızlı yolu nedir?
Seçenek 1: Doğrudan Redis'e mi?
seni gibi Kryo
kullanabilirsiniz görüyoruz:
Kryo kryo = new Kryo();
kryo.register(HashMap.class);
Output output = //For Redis what would the output be ?
kryo. writeObject(output, cache)
Ama Redis
kullanırken Output
ne olması gerektiği konusunda karıştı.
Seçenek 2: Bayt dizisiyle mi?
Ben de belki mümkün aşağıdaki gördük:
Jedis 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);
Ama etkili bir olduğum gibi bu bir bayt dizisi benim büyük önbellek "klonlama" Bana verimsiz görünmektedir.
Bu sorun için etkili bir yaklaşım nedir?