sql >> Base de Datos >  >> NoSQL >> Redis

Almacenamiento de objetos javascript anidados en redis - NodeJS

En primer lugar, redis solo admite los siguientes tipos de datos:

  1. Cadena
  2. Lista
  3. Establecer
  4. hachís
  5. Conjunto ordenado

Deberá almacenar objetos como cadenas en ambos redis y memcached.

nodo-memcached analiza/encadena los datos automáticamente. Pero nodo-redis no.

Sin embargo, puede implementar sus propias funciones de serialización/deserialización para su aplicación.

La forma en que node-memcached encadena un objeto de la siguiente manera:

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

También analiza el texto recuperado de esta manera:

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