Для работы с АПИ нужно авторизоваться на сервере и получить токен. Данный токен используется во всех дальнейших запросах к серверу, а следовательно его постоянно нужно хранить в памяти.
На данный момент полученный токен и его срок действия хранятся в базе данных. При каждом запросе токена скрипт сравнивает текущую дату с датой истечения токена, и если он еще не истёк - возвращает значение из базы данных. Вопрос в том, чтобы оптимизировать этот процесс и не делать каждый раз запросы в базу данных.
Так как токен идентичен паролю, его нельзя хранить в куках в открытом виде (могут украсть). Храню его в PHP сессии, но подозреваю, что это тоже не умное решение ибо у сессии нет времени жизни (скорее всего).
Возможно следует хранить полученный токен в memcached или Redis кэше, чтобы сократить количество запросов в базу данных? Как бы вы хранили и считывали токен?
Для правильного вопроса надо знать половину ответа
Если токен - это именно токен (например, JWT), то на сервере его хранить не надо. Токен подписывается и передаётся клиенту. После получения запроса с токеном сервер проверяет подпись, распаковывает токен и использует данные из него.