Redis
 sql >> база данни >  >> NoSQL >> Redis

Трябва ли да създам нов Redis клиент за всяка връзка?

Изглежда, че създават връзка за redis за всеки клиент. Това определено не се препоръчва.

Redis е база данни. Това е като MySQL. Можете да получите достъп до него чрез клиент, но това е програма, работеща на вашия сървър. Данните се обработват от него, така че не е нужно да се притеснявате къде се намират. Ако се притеснявате, можете да погледнете конфигурацията на Redis. Повече информация тук: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. Как работи SignalR.Redis под капака?

  2. Как да върна flask render_template, след като работата на фона на Redis приключи?

  3. Проблем с връзката с Redis при пружинното зареждане на Docker compose

  4. Конфигуриране на Apache Reverse Proxy за хостване на Laravel Echo Server при производство

  5. Поддръжка на Redis за вторичен индекс