Uh, sepertinya mereka membuat koneksi redis untuk setiap klien. Ini jelas tidak disarankan.
Redis adalah database. Ini seperti MySQL. Anda dapat mengaksesnya melalui klien, tetapi ini adalah program yang berjalan di server Anda. Data ditangani olehnya, jadi Anda tidak perlu khawatir di mana letaknya. Jika Anda khawatir, Anda dapat melihat konfigurasi redis. Informasi lebih lanjut di sini:http://redis.io (dokumennya sangat bagus).
Untuk "memperbaiki" kode, dan hanya menggunakan satu klien, Anda harus menggunakannya seperti ini:
/**
* 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 );
} );
} );
} );
});
};