Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

बड़े तार प्राप्त करने के लिए रेडिस धीमा है

रेडिस को बहुत बड़ी वस्तुओं को संग्रहीत करने के लिए डिज़ाइन नहीं किया गया है। आपको अपने पूरे संग्रह को Redis में एक स्ट्रिंग में संग्रहीत नहीं करना चाहिए, बल्कि Redis सूची का उपयोग करना चाहिए या अपनी वस्तुओं के लिए एक कंटेनर के रूप में सेट करना चाहिए।

इसके अलावा, अचार प्रारूप अंतरिक्ष के लिए अनुकूलित नहीं है ... आपको अधिक कॉम्पैक्ट प्रारूप की आवश्यकता होगी। प्रोटोकॉल बफ़र्स, मैसेजपैक, या यहां तक ​​​​कि सादा JSON, शायद इसके लिए बेहतर हैं। आपको अपना डेटा (जैसे Snappy, LZO, Quicklz, LZF, आदि ...) संग्रहीत करने से पहले एक हल्का संपीड़न एल्गोरिदम लागू करने पर विचार करना चाहिए।

अंत में, प्रदर्शन शायद नेटवर्क बाध्य है। मेरी मशीन पर, रेडिस से 20 एमबी ऑब्जेक्ट पुनर्प्राप्त करने में 85 एमएस (3 सेकंड नहीं) लगते हैं। अब, यदि मैं दूरस्थ सर्वर का उपयोग करके समान परीक्षण चलाता हूं, तो इसमें 1.781 सेकंड लगते हैं, जो कि इस 100 Mbit/s नेटवर्क पर अपेक्षित है। अवधि पूरी तरह से नेटवर्क बैंडविड्थ पर निर्भर है।

अंतिम बिंदु:हाल के रेडिस संस्करण का उपयोग करना सुनिश्चित करें - बड़ी वस्तुओं से निपटने के लिए कई अनुकूलन किए गए हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 127.0.0.1:6379 पर रेडिस से कनेक्ट नहीं हो सका:होमब्रे के साथ कनेक्शन से इनकार कर दिया

  2. मॉड्यूल सॉकेट नहीं मिला लुआ

  3. रेडिस क्लाइंट से लुआ स्क्रिप्ट चलाते समय त्रुटि

  4. रेडिस क्लस्टर फेलओवर:दास मास्टर नहीं बनेगा

  5. रेडिस सेट बनाम हैश