sql >> Database teknologi >  >> NoSQL >> Redis

Skal jeg oprette en ny Redis-klient for hver forbindelse?

Uh, det ser ud til, at de opretter en redis-forbindelse for hver klient. Dette kan bestemt ikke anbefales.

Redis er en database. Det er ligesom MySQL. Du kan få adgang til det via en klient, men det er et program, der kører på din server. Dataene håndteres af den, så du behøver ikke bekymre dig om, hvor den er. Hvis du bekymrer dig, kan du se på Redis-konfigurationen. Mere information her:http://redis.io (dokumentet er rigtig godt).

For at "rette" koden og kun bruge én klient, skal du bruge den sådan her:

/**
 * 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. Kan MongoDB bruge et indeks, når man tjekker for eksistensen af ​​et felt med $exists-operatoren?

  2. Predis med laravel 5.5 Ingen tilgængelige forbindelser i poolen i Aggregate/RedisCluster.php:337

  3. Mongo - Ignorer ejendom fra at blive vedholdende

  4. SQL COALESCE() Forklaret