Кеширование

При создании страниц для динамических веб-сайтов требуется чтобы к базе данных делались многочисленные запросы на предоставление информации о сохраненном содержимом, параметрах настройки сайта, текущем пользователе и т.д. Сохранение результатов этих дорогостоящих операций для последующего использования— один из самых легких способов на уровне приложений ускорить работу медлительного сайта. Встроенный в Drupal API кэширования делает это автоматически для большей части данных ядра и обеспечивает множество инструментальных средств для разработчиков Drupal, которые хотят использовать этот API для собственных целей.
Как осуществляется кэширование
Разработчики модулей могут хранить кэш своих данных в одной из таблиц базы данных Drupal. зарезервированных для кэширования, или могут создать для хранения своего кэша новую таблицу.

Когда в следующий раз понадобится эта информация, ее можно быстро найти с помощью одного запроса, и дорогие с точки зрения производительности манипуляции с данными не понадобятся.
Таблица, назначенная по умолчанию, в которую ваш модуль может записать кэшируемую информацию, имеет имя cache. Использование этой таблицы — лучший выбор, если нужно сохранить только пару строк кэшируемой информации. Если вы кэшируете информацию для каждого узла, меню или пользователя, вашему модулю понадобится собственная таблица кэша, чтобы повысить производительность за счет минимизация числа строк в таблице кэша Drupal. Определение новой таблицы кэша для вашего модуля должно быть структурно идентичным определению таблицы cache, назначаемой по умолчанию, но имя таблицы должно быть иным. Хорошее правило, которому мы настоятельно рекомендуем следовать, — предварять имя таблицы префиксом cache_. Давайте рассмотрим структуру базы данных таблицы cache.
Столбец created содержит дату записи в кэш и не используется при определении жизненного цикла кэша.
Столбец headers используется для хранения HTTP-заголовка ответа, когда данные кэша — запрос на страницу Drupal в целом. Батьшую часть времени вы не используете поле headers, поскольку будете кэшировать данные, которые не зависят от заголовков, такие как части страницы, а не страницы целиком. Примите, однако, во внимание, что структура вашей заказной таблицы кэша должна оставаться идентичной таковой таблицы кэша по умолчанию, поэтому столбец headers должен наличествовать, даже если он не используется.