Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Wie speichere ich ein Array von Objekten in Redis?

Was ich als funktionierend empfand, war das Speichern des Schlüssels als eindeutige Kennung und das Stringifizieren des gesamten Objekts, während die Daten gespeichert und JSON.parse beim Extrahieren angewendet wurden.

Beispielcode:

client
    .setAsync(obj.deviceId.toString(), JSON.stringify(obj))
    .then((doc) => {
        return client.getAsync(obj.deviceId.toString());
    })
    .then((doc) => {
        return JSON.parse(doc);
    }).catch((err) => {
        return err;
    });

Das Stringifizieren und anschließende Zurückparsen ist jedoch ein rechenintensiver Vorgang und blockiert den Node.js-Server, wenn die Größe von JSON zu groß wird. Ich bin wahrscheinlich bereit, einen Schlag für weniger Komplexität zu nehmen, weil ich weiß, dass mein JSON nicht riesig sein würde, aber das muss bei diesem Ansatz berücksichtigt werden.