Можно ли хранить laravel passport токены в redis/memcache?

В SPA приложении настроена аутентификация через laravel passport. К каждому запросу прикрепляется токен и проверяется есть ли такой в бд. Следовательно при каждом get/post запросе отправляется запрос в бд такого вида:
select * from `oauth_access_tokens` where `id` = '6756c7ef9221d9b897c1980a84349618aefce2e44db6380756b839a19c54bc5a0a65be3cd2a6ac90' limit 1

Можно ли сохранить данную таблицу в redis? Т.е. в laravel passport сначала проверять есть ли токен в redis, если нет, то проверять в бд, и далее добавлять его в redis. Хотелось бы таким способом снизить нагрузку на бд.
  • Вопрос задан
  • 1049 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
А сколько у вас уникальных юзеров стучится в апишку?
Здесь запрос проще некуда, ничего вообще не даст это изменение.

Не говоря уже про то что в самой базе есть свой кеш, и он нормально работает для всех запросов из коробки.
Ответ написан
avengerweb
@avengerweb
Веб-разработчик и не только
Ну а чего вы, сколько у вас там юзеров или сколько предполагается? Взяли и сделали нагрузочное тестирование, удостоверились что база тут отработает быстро и идеально и занимаетесь другими более важными вещами. Если проще, то перед тем как вы получите влияние на скорость от такого простого запроса, вы поймёте что bottle-neck тут php, и пойдёте думать в сторону load-balancing и распределеных систем, а вот когда вы уже начнёте упереться в базу данных, вот тогда можно будет подумать о репликации.
кеширование в данном случае вас не спасёт вы продублируете данные в памяти, MySQL это умеет делать и без вашей помощи, в общем случае вообще не имеет смысла делать кешированое на одиночные разряженные и простые запросы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы