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

पाइथन में रेडिस बनाम मेमोरी से बेंचमार्किंग पुनर्प्राप्ति (टाइमिट का उपयोग करके)

आपके द्वारा यहां की गई तुलना में, आप मूल रूप से केवल यह माप रहे हैं कि दूसरे मामले में एक नए नाम को एक मान से बांधने में पायथन को कितना समय लगता है। तो यह मुझे आश्चर्य नहीं करता है कि यह एक अलग प्रक्रिया (रेडिस) के साथ संचार करने से काफी तेज है। मुझे लगता है कि मुझे आश्चर्य की बात यह है कि यदि विकल्प केवल स्मृति में रखने के लिए मौजूद है तो आप रेडिस से मूल्य प्राप्त करने पर विचार करेंगे।

इसलिए, आपको इस बारे में अधिक स्पष्ट होने की आवश्यकता है कि आप इसके लिए रेडिस का उपयोग क्यों कर रहे हैं। यह इन-प्रोसेस मेमोरी की तुलना में हमेशा धीमा रहेगा, इसके लिए किसी बेंचमार्क की आवश्यकता नहीं है। आपको पूछने की ज़रूरत है "मैं सिर्फ पायथन सूचियों और शब्दकोशों का उपयोग क्यों नहीं कर रहा हूं"? कई मान्य उत्तर हैं:आपका डेटा मेमोरी में फिट होने के लिए बहुत बड़ा है, आपको कैश-विशिष्ट सुविधाओं की आवश्यकता होती है जैसे कुछ समय के बाद मान गायब हो जाते हैं, या आप इसे आईपीसी, या दृढ़ता के लिए उपयोग करना चाहते हैं। एक बार जब आप यहां उत्तर जान लेते हैं, तो यह उस बेंचमार्किंग को सूचित करेगा जो आप करना चाहते हैं। और सवाल अधिक होगा "मैं कम से कम प्रदर्शन दंड के लिए ऊपर सूचीबद्ध लाभ/सुविधाओं को कैसे प्राप्त करूं"। रेडिस एकमात्र उत्तर नहीं हो सकता है। आप shelf . पर विचार कर सकते हैं दृढ़ता के लिए, या शायद एक पूर्ण संबंधपरक डेटाबेस या मोंगो या जो भी हो।

संक्षेप में, एक बार जब आपको इसका अच्छा अंदाजा हो जाए कि क्यों, कितनी बार खुद को हल करता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Azure DataBricks Stream foreach NotSerializableException के साथ विफल रहता है

  2. पायथन - कैसे जांचें कि रेडिस सर्वर उपलब्ध है या नहीं?

  3. हरोकू रेडिस को कैसे मिटाएं?

  4. doRedis Ubuntu Linux, R, और RStudio में अजीब सॉकेट कनेक्शन त्रुटि के साथ

  5. Redis/Jedis विफलता और स्वचालित विफलता का एक भी बिंदु नहीं है