Есть Spring проект. В проекте есть классическое двухуровноевое меню (каталог).
На примере Yandex.Market:
Проект ориентирован на несколько городов. Меню строится на основе выбранного города.
Т.е в Саратове может отсутствовать root категория "Электроника". В Твери не будет sub категории "Телевизоры" и т.д.
Меню есть на каждой странице проекта. Логично, что делать sql запрос при его отрисовки на каждой странице сайта не лучшее решение.
Где лучше хранить такого рода информацию, после получения ее из БД?
Были идеи хранить это:
- В сессии.
- В js файле, с вложенным туда JSON. Но вот в чем дело, я не имею доступа к файловой системе пользователя (очевидно, но все же). Т.е могу записать json только на сервер вида:
- один город, один json с меню.
- один json со всеми категориями / подкатегориями и настройками видимости для каждого города.
Подход жесть, но это только идея.
Кроме меню, из базы тащу данные вида: номер телефона, время работы, и прочее что хотелось бы получить единожды при посещении сайта пользователем.
Возможно вопрос очень простой, но лучшего решения я не нашел. Пожалуйста, подскажите, как это делаете вы.