Trước hết redis chỉ hỗ trợ các kiểu dữ liệu sau:
- Chuỗi
- Danh sách
- Đặt
- Băm
- Tập hợp đã sắp xếp
Bạn sẽ cần lưu trữ các đối tượng dưới dạng chuỗi trong cả redis và memcached.
node-memcached phân tích cú pháp / xâu chuỗi dữ liệu tự động. Nhưng node-redis không.
Tuy nhiên, bạn có thể triển khai các chức năng tuần tự hóa / giải mã hóa của riêng mình cho ứng dụng của mình.
Cách node-memcached xâu chuỗi một đối tượng như sau:
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);
}
Nó cũng phân tích cú pháp văn bản được truy xuất theo cách này:
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;
}