Я установил redis на свой сервер и реализовал кэширование объектов для данных, возвращаемых в веб-приложении на базе PHP. Модель php по сути выполняет достаточно сложный запрос и возвращает подробный массив данных. Я протестировал кэширование и обнаружил, что все работает, как ожидалось. Сначала я проверяю, существует ли ключ в redis. Если да, redis возвращает данные, модель отсериализует и возвращает ранее кэшированные данные. Если срок действия кэша истек, модель выполняет sql-запрос, возвращает данные и устанавливает ключ и сериализованное значение в redis.
Итак, вот мои вопросы.
Я не уверен, как действительно проверить это, поскольку все это основано на браузере. Какие есть инструменты, которые позволили бы мне получить разумный бенчмарк для сравнения кэширования и без кэширования. Я думаю о php-скрипте, который вызывает api 1000 раз через curl.
Я реализовал это в redis, потому что однажды прочитал, что кэширование с помощью redis будет работать для нескольких сессий или ip-адресов, обращающихся к сайту. Например, если к api обращаются 1000 раз в час несколько ip-адресов/пользователей, я предполагаю, что такой подход снизит нагрузку на сервер mysql и позволит redis выполнять работу по возврату кэшированных данных. Может ли кто-нибудь пролить свет на это? Верны ли мои предположения?
Все комментарии приветствуются!
Спасибо!
Dave