Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como separar o banco de dados redis para os mesmos dois aplicativos em node.js


Você pode usar o .select(db, callback) função em node_redis.
var redis = require('redis'),
db = redis.createClient();

db.select(1, function(err,res){
  // you'll want to check that the select was successful here
  // if(err) return err;
  db.set('key', 'string'); // this will be posted to database 1 rather than db 0
});

Se você estiver usando expressjs, poderá definir uma variável de ambiente de desenvolvimento e produção para definir automaticamente qual banco de dados você está usando.
var express = require('express'), 
app = express.createServer();

app.configure('development', function(){
  // development options go here
  app.set('redisdb', 5);
});

app.configure('production', function(){
  // production options here
  app.set('redisdb', 0);
});

Então você pode fazer uma chamada para db.select() e tenha as opções definidas para production ou development .
db.select(app.get('redisdb'), function(err,res){ // app.get will return the value you set above
  // do something here
});

Mais informações sobre desenvolvimento/produção em expressjs:http://expressjs.com/guide.html#configuration

O node_redis .select(db, callback) A função de retorno de chamada retornará OK no segundo argumento se o banco de dados estiver selecionado. Um exemplo disso pode ser visto na seção Uso do leia-me node_redis.