Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment séparer la base de données Redis pour les deux mêmes applications dans node.js

Vous pouvez utiliser le .select(db, callback) fonction dans 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
});

Si vous utilisez expressjs, vous pouvez définir une variable d'environnement de développement et de production pour définir automatiquement la base de données que vous utilisez.

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);
});

Ensuite, vous pouvez faire un appel à db.select() et avoir les options définies pour la production ou development .

db.select(app.get('redisdb'), function(err,res){ // app.get will return the value you set above
  // do something here
});

Plus d'informations sur le développement/la production dans expressjs :http://expressjs.com/guide.html#configuration

Le node_redis .select(db, callback) La fonction de rappel renverra OK dans le deuxième argument si la base de données est sélectionnée. Un exemple de ceci peut être vu dans la section Usage du readme node_redis.