Redis
 sql >> Database >  >> NoSQL >> Redis

Come memorizzare una matrice di oggetti in Redis?

La cosa che ho trovato funzionante è stata memorizzare la chiave come identificatore univoco e stringere l'intero oggetto durante la memorizzazione dei dati e l'applicazione di JSON.parse durante l'estrazione.

Codice di esempio:

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;
    });

Sebbene la stringa e quindi l'analisi sia un'operazione pesante dal punto di vista computazionale e bloccherà il server Node.js se la dimensione di JSON diventa grande. Probabilmente sono pronto a prendere un colpo per una minore complessità perché so che il mio JSON non sarebbe enorme, ma è necessario tenerlo a mente mentre si adotta questo approccio.