redis使用多个数据库时,哪中方式最合适呢?
发布于 9 年前 作者 suntopo 6411 次浏览 最后一次编辑是 8 年前 来自 问答

比如,有三种数据“类型”需要存储, session,user, book

方式一:

var redisObj = {};
var sessionRedis = redis.createClient(host, port);
sessionRedis.select(1);

var userRedis = redis.createClient(host, port);
userRedis.select(2);

var bookRedis = redis.createClient(host, port);
bookRedis.select(3);

redisObj = {
  sessionRedis: sessionRedis,
  userRedis: userRedis,
  bookRedis: bookRedis
};

module.exports = redisObj;

另一种方式

var redisClient = redis.createRedis(host, port);

exports.getRedis = function(type, num) {
  if(type == "sessionRedis"){
    return redisClient.select(1);
  }else if(type == "userRedis"){
    return userRedis.select(2);
  }else if(type == "bookRedis") {
    return bookRedis.select(3)
  }
}

1) 一种是创建多个客户端,一种是通过切换数据库,哪种方式会更好一些? 2) 像消息队列模块bull使用了redis实现的,它是否用到了数据库呢,是怎么避免用到你在用的那个库呢?

回到顶部