Таблица cache_bootstrap
Таблица cache_bootstrap является одной из ключевых таблиц кеширования в Drupal. Она хранит данные, которые необходимы для работы ядра системы на самых ранних этапах загрузки, еще до инициализации полной системы кеширования и подключения всех модулей.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
cid |
varchar(255) |
Уникальный идентификатор кеш-записи (Cache ID). Первичный ключ таблицы. |
data |
longblob |
Сериализованные данные, которые хранятся в кеше. Могут содержать массивы, объекты или другие структуры данных. |
expire |
int |
Время истечения срока действия кеш-записи в формате Unix timestamp. Значение 0 означает, что запись не имеет срока годности.
|
created |
decimal(14, 3) |
Время создания кеш-записи в формате Unix timestamp с микросекундами. |
serialized |
smallint |
Флаг, указывающий на то, что данные были сериализованы перед сохранением. Значение 1 означает сериализованные данные, 0 - нет.
|
tags |
longtext |
Список тегов, связанных с кеш-записью, разделенных переносом строки. Используется для инвалидации групп кеш-записей. |
checksum |
varchar(255) |
Контрольная сумма тегов, используемая для проверки целостности данных при инвалидации кеша. |
Как это работает
Таблица cache_bootstrap используется для хранения информации, которая требуется Drupal еще до того, как становится доступна полная система кеширования. Это включает в себя реестры тем и модулей, информацию о схемах баз данных, переменные системы и другие критически важные данные.
При начальной загрузке Drupal сначала обращается к этой таблице, чтобы получить необходимые данные без выполнения ресурсоемких операций и запросов к базе данных. Если данные в кеше устарели или отсутствуют, система загружает их обычным способом и затем сохраняет в cache_bootstrap для последующих запросов.
Особенностью этой таблицы является то, что она не очищается при стандартной очистке кеша через административный интерфейс. Это предотвращает проблемы с загрузкой системы, которые могут возникнуть при удалении критически важных данных.
Для инвалидации записей в этой таблице используется система тегов. Когда изменяются определенные данные (например, включается или выключается модуль), система помечает связанные теги как невалидные, что приводит к автоматическому обновлению соответствующих кеш-записей.
Пример SQL-запроса
Посмотреть содержимое кеш-записи для реестра модулей можно следующим запросом:
SELECT cid, created, expire, serialized
FROM cache_bootstrap
WHERE cid = 'module_implements'
ORDER BY created DESC
LIMIT 1;
Для просмотра сериализованных данных конкретной записи:
SELECT cid, data, serialized
FROM cache_bootstrap
WHERE cid LIKE 'system%'
LIMIT 5;
Смотрите также
-
таблицу
cache_default,
которая содержит общий кеш данных по умолчанию -
таблицу
cache_config,
которая хранит кешированную конфигурацию системы -
таблицу
cache_container,
которая содержит кеш dependency injection контейнера -
таблицу
cache_render,
которая хранит кешированные render arrays