Over het algemeen is het openen van een verbinding een dure operatie, dus moderne best practices zijn om ze open te houden. Aan de andere kant vereisen open verbindingen middelen (uit de database) om te beheren, dus het openhouden van veel inactieve verbindingen kan ook problematisch zijn. Deze afweging wordt meestal opgelost door het gebruik van verbindingspools.
Dat gezegd hebbende, wat interessanter is, is waarom PHP segfault. De time-out wordt blijkbaar veroorzaakt door een langlopende opdracht (CLI-script in jouw geval) die Redis (die meestal single-threaded is) blokkeert van het bijwonen van de verbindingen van de PHP-app. Hoewel dit een bekend Redis-gedrag is, zou ik verwachten dat PHP (gebeurtenis zonder opnieuw verbinden in de clientbibliotheek) niet zo ellendig zou zijn.