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

क्या हायरडिस रेडिस लाइब्रेरी एसिंक्स कॉलबैक के लिए अपना खुद का थ्रेड बनाती है

Redis क्लाइंट कोई अतिरिक्त क्लेंट थ्रेड नहीं बनाता है, और मौजूदा थ्रेड में काम करता है।

रेडिस ने एक और (मुख्य) प्रक्रिया में काम किया। आपके द्वारा उपयोग की जाने वाली रेडिस एपीआई आपकी स्थानीय प्रक्रिया में काम करती है और मुख्य प्रक्रिया में इंटरप्रोसेस संचार का उपयोग करती है। Async अनुरोध का मतलब है कि आपकी प्रक्रिया या थ्रेड दूसरे को कार्य देता है, और उसके बाद कोई अन्य कार्य या प्रतीक्षा घटना कर सकता है। कुछ समय बाद async उत्तर आपके आवेदन पर आया और उपयोग के लिए उपलब्ध हो गया। आप एप्लिकेशन को https://en.wikipedia.org/wiki/Event_loop या किसी भी एसिंक प्रबंधन प्रणाली का उपयोग करना चाहिए जो ईवेंट को संभालने के लिए कॉलबैक कॉल करके आपको सूचित करता है (इस मामले में रेडिस उत्तर)।

एसिंक्रोनस आर्किटेक्चर का मतलब है कि आप इवेंट लूप चला रहे हैं जो प्रत्येक ईवेंट के लिए कॉलबैक हैंडलर कहते हैं। जब कॉलबैक कॉल किया जाता है तो आप अतुल्यकालिक कार्यों की संख्या बना सकते हैं। एक बार कार्य बनने के बाद, यह माना जाता है कि जब कार्य किया जाता है या त्रुटि होती है तो कॉलबैक ईवेंट हैंडलर को कॉल किया जाएगा। ऐप शुरू करने या नए वेब कनेक्शन को प्रदर्शित करने के लिए कॉलबैक असाइन किया जा सकता है। जब कॉलबैक कहा जाता है तो आप रेडिस कार्य बना सकते हैं, और बाद में परिणाम ईवेंट कॉलबैक कहा जाएगा। वर्तमान धागे में सभी चीजें। मेरे पास एकाधिक थ्रेड नहीं हैं, यह अपेक्षा करना उचित है कि आपके पास प्रत्येक थ्रेड के लिए एक ईवेंट लूप है।

रेडिस की सिंगल थ्रेडेड प्रकृति:http://redis.io/topics/latency#single-threaded-nature-of-redis

क्लाइंट सॉकेट को गैर-अवरुद्ध स्थिति में रखा जाता है क्योंकि रेडिस मल्टीप्लेक्सिंग और गैर-अवरुद्ध I/O का उपयोग करता है। http://redis.io/topics/clients इसका मतलब है कि आपके क्लाइंट को कभी भी ब्लॉक नहीं किया जाएगा।

रेडिस में रेडिस 2.4 थ्रेड्स का उपयोग केवल पृष्ठभूमि में कुछ धीमे I/O संचालन करने के लिए किया जाता है, मुख्य रूप से डिस्क I/O से संबंधित है, लेकिन यह इस तथ्य को नहीं बदलता है कि Redis एक ही थ्रेड का उपयोग करके सभी अनुरोधों को पूरा करता है।

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस हैश में एक कुंजी में एकाधिक मान जोड़ने के लिए एक प्रश्न लिखना?

  2. रेडिस ने लॉकिंग के साथ वेतन वृद्धि वितरित की

  3. रेडिस क्लस्टर / लोड संतुलन

  4. सॉकेट.io-redis का उपयोग करने का उदाहरण

  5. रिक्त स्थान वाली कुंजियों का उपयोग करके रेडिस से मूल्य कैसे प्राप्त करें?