Предположим, что у вас есть multiple db в Redis, с которого вы хотели бы вставить и/или удалить данные. У вас такой поток;
- Вставьте данные в DB # 1
- После первой вставки callback выполните некоторые действия и вставьте данные в DB # 2
- После второй вставки callback снова выполните некоторые вещи и, наконец, вставьте данные в DB # 3
Я использую одну переменную, называемую redisClient, которая в основном создается как:
redisClient = redis.createClient();
И при выборе нового БД я использую команду 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 была назначена только один раз и позже на протяжении всего приложения. Теперь мне было интересно, насколько разумно использовать отдельные redisClients для каждого DB, которые у меня есть в Redis. Так было бы:
redisClientForDB1 = redis.createClient();
redisClientForDB2 = redis.createClient();
redisClientForDB3 = redis.createClient();
Мне было интересно, было бы это разумно или это был бы правильный способ для приложения, которое получит 4K запросов в секунду и собирается перейти в производственный режим. С какими проблемами может столкнуться эта модель?