На първо място, redis поддържа само следните типове данни:
- Стринг
- Списък
- Задаване
- Хеш
- Сортиран набор
Ще трябва да съхранявате обекти като низ и в двата redis и мемкеш.
node-memcached анализира/разбира данните автоматично. Ноnode-redis не.
Можете обаче да внедрите свои собствени функции за сериализация/десериализация за вашето приложение.
Начинъткеширане на възела stringifies обект е както следва:
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);
}
Освен това анализира извлечения текст по следния начин:
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;
}