sql >> Database >  >> NoSQL >> Redis

Moet ik voor elke verbinding een nieuwe Redis-client maken?

Het lijkt erop dat ze een redis-verbinding maken voor elke klant. Dit is zeker niet aan te raden.

Redis is een databank. Het is net als MySQL. Je hebt er toegang toe via een client, maar het is een programma dat op je server draait. De gegevens worden erdoor verwerkt, dus u hoeft zich geen zorgen te maken over waar deze zich bevindt. Als je je zorgen maakt, kun je de redis-configuratie bekijken. Meer informatie hier:http://redis.io (het document is echt goed).

Om de code te "repareren" en slechts één client te gebruiken, moet u deze als volgt gebruiken:

/**
 * 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. Mongodb en MAMP

  2. Hoe u terugbelt wanneer de sleutel verloopt in REDIS

  3. MongoDB installeren op CentOS 7

  4. Installeer MongoDB op Windows