Sembra che stiano creando una connessione redis per ogni client. Questo è decisamente sconsigliato.
Redis è un database. È come MySQL. Puoi accedervi tramite un client, ma è un programma in esecuzione sul tuo server. I dati sono gestiti da esso, quindi non devi preoccuparti di dove si trovano. Se ti preoccupi, puoi guardare la configurazione di redis. Maggiori informazioni qui:http://redis.io (il documento è davvero buono).
Per "correggere" il codice e utilizzare un solo client, dovresti usarlo in questo modo:
/**
* 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 );
} );
} );
} );
});
};