まず第一に、redisは次のデータ型のみをサポートします:
- 文字列
- リスト
- 設定
- ハッシュ
- ソートされたセット
両方のredisにオブジェクトを文字列として保存する必要があります およびmemcached。
node-memcached データを自動的に解析/文字列化します。ただし、 node-redis そうではありません。
ただし、アプリに独自のシリアル化/逆シリアル化機能を実装できます。
node-memcachedの方法 オブジェクトを文字列化するのは次のとおりです。
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;
}