Just abstract example:
(async f1() {
const client1 = asyncRedis.createClient();
await client1.blpop("some", 0);
})()
(async f2() {
const client2 = asyncRedis.createClient();
await client2.lpush("some", 42);
})()
f2's lpush will never be called as client1 and client2 share same connection due to new implementation