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

Speichern von verschachtelten Javascript-Objekten in redis - NodeJS

Zunächst einmal unterstützt redis nur die folgenden Datentypen:

  1. Zeichenfolge
  2. Liste
  3. Einstellen
  4. Hash
  5. Sortierter Satz

Sie müssen Objekte als String in beiden redis speichern und memcached.

Knoten-Memcache analysiert/stringiert die Daten automatisch. Aber node-redis nicht.

Sie können jedoch Ihre eigenen Serialisierungs-/Deserialisierungsfunktionen für Ihre App implementieren.

Die Art und Weise node-memcached stringiert ein Objekt wie folgt:

if (Buffer.isBuffer(value)) {
    flag = FLAG_BINARY;
    value = value.toString('binary');
} else if (valuetype === 'number') {
    flag = FLAG_NUMERIC;
    value = value.toString();
} else if (valuetype !== 'string') {
    flag = FLAG_JSON;
    value = JSON.stringify(value);
}

Es analysiert den abgerufenen Text auch auf diese Weise:

switch (flag) {
    case FLAG_JSON:
        dataSet = JSON.parse(dataSet);
        break;
    case FLAG_NUMERIC:
        dataSet = +dataSet;
        break;
    case FLAG_BINARY:
        tmp = new Buffer(dataSet.length);
        tmp.write(dataSet, 0, 'binary');
        dataSet = tmp;
        break;
}