Куки + сессии. Все современные фреймворки умеют работать с различными хранилищами данных сессии: бд, файлы, мемкеш (имхо для сессий самое то). НО не надо сохранять всю инфу пользователя в сессию, она для этого не предназначена. Можно хранить в сессии ID пользователя и остальные ключи, что бы в нужный момент легко выдернуть нужные данные из бд. Если данных много и они не менятся каждый раз, при запросе от пользователя, то можно кешировать данные, например в мемкеш, при этом данные пользователей которые давно не посещали сервис должны вытесняться данными пользователей, посетившими сервис только что.