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

क्या मुझे प्रत्येक कनेक्शन के लिए एक नया रेडिस क्लाइंट बनाना चाहिए?

उह, ऐसा लगता है कि वे प्रत्येक क्लाइंट के लिए एक रेडिस कनेक्शन बना रहे हैं। यह निश्चित रूप से अनुशंसित नहीं है।

रेडिस एक डेटाबेस है। यह MySQL की तरह है। आप इसे क्लाइंट के माध्यम से एक्सेस कर सकते हैं, लेकिन यह आपके सर्वर पर चलने वाला प्रोग्राम है। डेटा इसके द्वारा नियंत्रित किया जाता है, इसलिए आपको इसके बारे में चिंता करने की ज़रूरत नहीं है कि यह कहाँ है। यदि आप चिंता करते हैं, तो आप रेडिस कॉन्फ़िगरेशन देख सकते हैं। अधिक जानकारी यहाँ:http://redis.io (डॉक्टर वास्तव में अच्छा है)।

कोड को "ठीक" करने के लिए, और केवल एक क्लाइंट का उपयोग करने के लिए, आपको इसे इस तरह उपयोग करना होगा:

/**
 * Move this at the top, this way it's not run once per client,
 * it is run once the node program is launched.
 */
var r = redis.createClient();

var addSnippet = function( req, res ) {
  getPostParams( req, function( obj ) {    
      r.stream.on( 'connect', function() {
        r.incr( 'nextid' , function( err, id ) {
          r.set( 'snippet:'+id, JSON.stringify( obj ), function() {
            var msg = 'The snippet has been saved at <a href="/'+id+'">'+req.headers.host+'/'+id+'</a>';
            res.respond( msg );
          } );
        } );
      } );
    });
};


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. विभिन्न मशीनों पर रेडिस प्रतिकृति का उपयोग करना (मल्टी मास्टर)

  2. रेडिस प्रतिकृति विन्यास

  3. उपयोगकर्ता नाम/पासवर्ड नोडज के साथ प्रबंधित रेडिस से कनेक्ट करना

  4. रेडिस डॉकटर में रिमोट सर्वर से टाइमआउट कनेक्ट करें

  5. रेडिस आउट ऑफ मेमोरी एक्सेप्शन, लेकिन अभी भी बहुत मेमोरी है