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

Lagring af indlejrede javascript-objekter i redis - NodeJS

Først og fremmest understøtter redis kun følgende datatyper:

  1. String
  2. Liste
  3. Indstil
  4. Hash
  5. Sorteret sæt

Du skal gemme objekter som streng i begge redis og memcached.

node-memcached parser/strenger dataene automatisk. Men node-redis ikke.

Du kan dog implementere dine egne serialiserings-/deserialiseringsfunktioner til din app.

Måden node-memcached på strenger et objekt er som følger:

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

Den analyserer også den hentede tekst på denne måde:

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



  1. MongoDB $type Query Operator

  2. Mongoose-skema:'unik' bliver ikke respekteret

  3. Opdater enhed i redis med spring-data-redis

  4. $unset er tom. Du skal angive et felt som sådan:{$unset:{<field>:...}}