सबसे पहले रेडिस केवल निम्नलिखित डेटा प्रकारों का समर्थन करता है:
- स्ट्रिंग
- सूची
- सेट
- हैश
- सॉर्ट किया गया सेट
आपको वस्तुओं को redis . दोनों में स्ट्रिंग के रूप में संग्रहीत करने की आवश्यकता होगी और 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;
}