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

Memorizzazione di oggetti javascript nidificati in redis - NodeJS

Innanzitutto redis supporta solo i seguenti tipi di dati:

  1. Stringa
  2. Elenco
  3. Imposta
  4. Hash
  5. Set ordinato

Dovrai memorizzare gli oggetti come stringa in entrambi i redis e memorizzato nella cache.

memorizzazione del nodo analizza/stringifica i dati automaticamente. Ma node-redis no.

Tuttavia, puoi implementare le tue funzioni di serializzazione/deserializzazione per la tua app.

Il modo in cui node-memcached stringe un oggetto è il seguente:

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

Analizza anche il testo recuperato in questo modo:

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