Przede wszystkim redis obsługuje tylko następujące typy danych:
- Ciąg
- Lista
- Ustaw
- Hasz
- Posortowany zestaw
Musisz przechowywać obiekty jako ciąg w obu redis i memcached.
z pamięci podręcznej węzła analizuje/struje dane automatycznie. Ale node-redis nie.
Możesz jednak zaimplementować własne funkcje serializacji/deserializacji dla swojej aplikacji.
Sposób buforowania węzłów określa obiekt w następujący sposób:
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);
}
Analizuje również pobrany tekst w ten sposób:
przełącznikswitch (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;
}