1. Redis to magazyn persystencji danych (miejsce, gdzie przechowujesz dane, jak baza danych) korzystający z pamięci podręcznej - tym jest właśnie cache. Możesz tam przechowywać różne dane, jeśli skonfigurujesz Doctrine do korzystania z tego, to będzie on tam keszował wyniki zapytań, zapytania SQL lub/oraz metadane.
2. Do samego połączenia możesz np. skorzystać z tego. Musisz też mieć zainstalowany Redis na swojej fizycznej maszynie (lokalnie/serwer). Widziałem, że są też różne bundle do tego, musisz zapytać wujka Google.
3. Czas życia danych przechowywanych przez Redis określa TTL (time to live). Po tym czasie dane są usuwane.