sql >> Databáze >  >> NoSQL >> Redis

Mám pro každé připojení vytvořit nového klienta Redis?

Vypadá to, že vytvářejí připojení redis pro každého klienta. To se rozhodně nedoporučuje.

Redis je databáze. Je to jako MySQL. Můžete k němu přistupovat prostřednictvím klienta, ale je to program běžící na vašem serveru. Data zpracovává on, takže se nemusíte starat o to, kde to je. Pokud si děláte starosti, můžete se podívat na konfiguraci redis. Více informací zde:http://redis.io (dokument je opravdu dobrý).

Chcete-li kód „opravit“ a používat pouze jednoho klienta, museli byste jej použít takto:

/**
 * 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 $ tan

  2. Redis failover s StackExchange / Sentinel z C#

  3. Redis Cluster vs ZeroMQ v Pub/Sub, pro horizontálně škálované distribuované systémy

  4. Po aktualizaci se změní pořadí pole MongoDB a pozice dokumentu