Вы должны вызвать данные один раз из базы данных и сохранить их в переменной сеанса.Обычно я помещаю свои user_id, username, email, username & access_levels в сеанс при первом входе пользователя в систему. Затем я могу вызывать их в любом месте приложения, пока пользователь вошел в систему.
Не сохранятьпароль в сеансе, так как он не требуется.
Вы также можете создать переменную с именем logged_in и установить для нее значение true или false для проверки (т. е. показать меню «Учетная запись», если пользователь вошел в систему, иначе покажи меню "Регистрация").
[Обновление]
Вот ссылка на Pro / Con's MySQL кеширования.
Прокрутите вниз до комментария.
Это зависит отна вашем сайте, для кэширования запросов небольшого сайта было бы хорошо, но если вы хотите разрабатывать более масштабируемые приложения, вы должны помнить о скорости.
Как узнать, включен ли кеш запросов MySQL: [ LINK ]