Generelt er det en dyr operation at åbne en forbindelse, så moderne bedste praksis er at holde dem åbne. På den anden side kræver åbne forbindelser ressourcer (fra databasen) for at administrere, så det kan også være problematisk at holde mange ledige forbindelser åbne. Denne afvejning løses normalt ved brug af forbindelsespuljer.
Når det er sagt, hvad der er mere interessant er, hvorfor PHP fejler. Timeout er åbenbart forårsaget af en lang kørende kommando (CLI-script i dit tilfælde), der blokerer Redis (som for det meste er enkelttrådet) fra at tage sig af PHP-appens forbindelser. Selvom dette er en velkendt Redis-adfærd, ville jeg forvente, at PHP (begivenhed uden gentilslutning på klientbiblioteket) ikke ville plage sine bukser så elendigt.