Память (оперативная) используется как хранилище сессии по умолчанию. Это означает что если перезагрузить сервер то всем пользователям придется перезалогиниваться. Чтобы не нужно было перезалогиниваться после рестарта сервера нужно использовать persistent хранилище для данных сессии (файловую систему, базу данных).
Второй случай когда нужно использовать всякие редисы, когда у тебя приложение - это куча веб серверов как отдельные сервера, на которые load-balancer перераспределяет поток запросов от клиентов. Load balancer может два последовательных запроса одного пользователя перекинуть разным веб серверам, и каждый веб сервер должен знать про сессию чтобы пользователь был корректно авторизован. Получается что хранить информацию о сессии в памяти или на диске одного сервера не резонно, ибо другие сервера не имеют доступа к этой информации. Нужно хранить информацию в месте где она доступна другим серверам, например на сервера базы данных, к которому имеют доступ другие сервера.