假设您在 Redis 中有多个要从中插入和/或删除数据的数据库。你有这样的流程;
- 将数据插入DB #1
- 在第一次插入的回调之后做一些事情并将数据插入DB #2
- 在第二次插入的回调之后再次做一些事情,最后将数据插入到DB #3
我使用了一个名为redisClient的变量,它基本上被创建为;
redisClient = redis.createClient();
在选择新数据库时,我使用带有额外预警回调的 select 命令,所以我的 select 命令就像;
redisClient.select(1, function(err) {
//Some programming logic (Insertion, deletion and stuff)
redisClient.select(2, function(err) {
//Do some additional programming logic (Insertion, deletion and stuff)
}
});
然而,事情变得不断混合。我想指出 redisClient 变量只分配了一次,然后在整个应用程序中使用。现在我想知道,为我在 Redis中的每个数据库使用单独的 redisClients有多合理。所以它会像;
redisClientForDB1 = redis.createClient();
redisClientForDB2 = redis.createClient();
redisClientForDB3 = redis.createClient();
我想知道这是否合理,或者对于每秒接收 4K 请求并即将进入生产模式的应用程序来说,这是否是正确的方法。该模型可能面临哪些问题?