Recently started a new project that uses Doctrine and symfony cache.
For symfony cache I always strongly prefer phpredis with igbinary marshalling.
One issue I ran into was that my redis server is configured to use username and password while symfony cache redis adapter docs didn’t cover this scenario at the time of writing, unless I missed it and I couldnt find any example online that would show it.
Took me couple of minutes to figure out – so I wanted to share perhaps it helps someone, but the idea is – don’t use createConnection helper as in docs and just configure phpredis client yourself:
$client = new \Redis(); $isConnected = $client->pconnect($host = $config['host'], $port = $config['port'], $connectTimeout = 2.5, $reserved = null, $retryInterval = 1000, $readTimeout = 30); //This line $client->auth(['user' => $user, 'pass' => $pass]); // Make sure we set igbinary as default marshaller explicitely $marshaller = new DefaultMarshaller(true); $cache = new RedisAdapter( $client, // the string prefixed to the keys of the items stored in this cache $namespacePrefix ='someprefix', $defaultLifetime = 60 * 60, $marshaller, );