Статьи :
Проверка кешированных данных
19 января 2017, 08:30 |
Для снижения нагрузок на сайт применяется методика кеширования подготовленных данных. В этом случае скрипт не выполняет запросы в базу и не проводит обработку данных, а сразу берет готовые результаты из кеша. В качестве кеша может выступать, например, файловое хранилище. Обратим внимание на следующую распространенную ошибку при обработке возвращаемого результата из кеша. Для этого рассмотрим типовой механизм работы:
Как видно, из-за слабой типизации php повторный запрос данных из базы будет происходить не только когда данных в кеше действительно нет (возвращается false), но и, в частности, на пустую строку или на пустой массив (например, в запрошенной выборке нет товаров). Для проверки запустим следующий код:
Его результаты, как и ожидалось:
Как видно, для правильной проверки существования кешированных данных нужно использовать строгую проверку false === $cache. Если не учесть данный момент, то получится так, что кеш вроде бы и есть, но используется он неэффективно. |