Es wäre toll, wenn mir jemand vorschlagen könnte, was der beste Weg wäre, um eine Liste von Java-Objekten in Redis zu speichern.Der beste Weg, um eine Liste von Java-Objekten in Redis zu speichern
Momentan konvertiere ich die Java-Objekte in JSON-Zeichenketten und speichere diese Zeichenketten in Redis, und ich habe in Redis festgelegt, all diese zu verfolgen.
Für zB: -
SET student:1 '{"name":"testOne","stream":computer science}'
SET student:2 '{"name":"testTwo","stream":electronics}'
SADD students 1
SADD students 2
Also, wann immer ich die Liste der Studenten holen will, muss ich zuerst den Satz students
und dann über sie iterieren und die json Saiten an diesen Schlüssel erhalten.
Ich frage mich nur, ob es eine andere, bessere Möglichkeit gibt, das Szenario des Speicherns einer Liste von Java-Objekten in Redis zu behandeln.
(Ich verwende redis als Cache)
Ich bin eigentlich auf der Suche nach einer Liste von Java-Objekten zu speichern und sie abrufen, wenn sie jemals benötigt werden. Außerdem wollte ich die Anzahl der Abfragen minimieren, um die Liste abzurufen, also entschied ich mich, json-Strings zu verwenden, um die Objekte zu speichern, wodurch ich MGET verwenden und alle Schlüssel auf einmal bekommen kann. Wenn ich Hashes verwende, um meine Java-Objekte zu speichern, kann ich nicht alle Elemente der Liste der Java-Objekte auf einmal abrufen. –
Wenn Sie sie nicht geordnet speichern möchten, können Sie einen SET verwenden, um die Schlüssel des Hash zu speichern. Sie können ein LUA-Skript verwenden, um sie in einem Schritt abzurufen Das Problem mit Ihrem Ansatz: -Update und löschen Sie nur auf der Clientseite möglich. -> schlechte Multi-User-Unterstützung – Lugg