Redis
 sql >> Base de données >  >> NoSQL >> Redis

Stockage d'objets javascript imbriqués dans redis - NodeJS

Tout d'abord, redis ne prend en charge que les types de données suivants :

  1. Chaîne
  2. Liste
  3. Définir
  4. Hachage
  5. Ensemble trié

Vous devrez stocker des objets sous forme de chaîne dans les deux redis et memcaché.

node-memcached analyse/chaîne les données automatiquement. Mais node-redis pas.

Cependant, vous pouvez implémenter vos propres fonctions de sérialisation/désérialisation pour votre application.

La façon dont node-memcached stringifie un objet est la suivante :

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

Il analyse également le texte récupéré de cette manière :

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