Symfony — данные доступные всегда, как?

Доброе время суток!

Интересует следующие:
Как при авторизации запомнить параметры в вроде массива объектов.
Использовать сессии или хранилища на клиенте, что то типа web sql?
Сейчас все дело кешируется в redis.

Для примера - пользователь залогинился, в сессии мы записали какую либо информацию.
Пользователь перешел на другую страницу сайта. Потребуется отобразить информацию о его друзьях.
Что бы не делать лишних запросов, а сказу как можно быстрее отобразить. Что бы данные о друзьях были доступны в любом месте.
  • Вопрос задан
  • 2207 просмотров
Пригласить эксперта
Ответы на вопрос 2
Quber
@Quber
PHP Team lead
Создаете слушателя для авторизации (Event Listener). При авторизации заносите данные в сессию пользователя.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Лучше ложить такое добро в реддис и устанавливать время жизни для данных (если у вас сессии не в в пямяти валяются конечно). Скажем можно в ивент листенере это делать используя doctrine/cache или еще лучше - реализовать кеширование в сервисе провайдере данных, а он уже может либо сам ложить куда кеш либо доктрину просить... И никаких листенеров не нужно.

А вообще, у вас это реально узкое место или вам просто захотелось пооптимизировать что-то?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы