Таблица cache_router
Таблица cache_router является частью системы кеширования Drupal и предназначена для хранения скомпилированных данных о маршрутах. Это значительно ускоряет процесс маршрутизации запросов, так как системе не нужно каждый раз пересобирать информацию о доступных путях.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
cid |
varchar(255) |
Уникальный идентификатор кеш-записи. Обычно содержит имя маршрута или путь. |
data |
longblob |
Сериализованные данные маршрута, включая информацию о контроллере, требованиях доступа, параметрах и других метаданных. |
expire |
int |
Время истечения срока действия кеш-записи в формате Unix timestamp. Значение 0 означает, что запись не имеет срока годности.
|
created |
int |
Время создания кеш-записи в формате Unix timestamp. |
serialized |
smallint |
Флаг, указывающий на то, что данные в поле data сериализованы. Значение 1 - сериализованы, 0 - нет.
|
tags |
longtext |
Теги кеша, используемые для инвалидации групп связанных кеш-записей. Разделяются переводом строки. |
checksum |
varchar(255) |
Контрольная сумма, используемая для проверки целостности данных. |
Как это работает
При первом обращении к любому маршруту Drupal компилирует информацию о нем (из *.routing.yml файлов) и сохраняет в таблице cache_router. При последующих запросах система маршрутизации сначала проверяет наличие данных в кеше, что значительно ускоряет обработку запросов.
Данные в этой таблице автоматически инвалидируются (очищаются) при изменении маршрутизации - например, при установке или удалении модулей, изменении *.routing.yml файлов или при ручной очистке кеша через административный интерфейс.
Каждая запись в таблице соответствует определенному маршруту и содержит всю необходимую информацию для его обработки: какой контроллер должен быть вызван, какие параметры переданы, какие требования к доступу должны быть проверены.
Пример SQL-запроса
Посмотреть все активные кеш-записи маршрутизатора можно следующим запросом:
SELECT cid, created, expire
FROM cache_router
WHERE expire = 0 OR expire > UNIX_TIMESTAMP();
Смотрите также
-
таблицу
cache_bootstrap,
которая хранит кеш начальной загрузки системы -
таблицу
cache_data,
которая содержит общие кешированные данные -
таблицу
router,
которая хранит скомпилированные данные маршрутизации -
таблицу
cache_menu,
которая содержит кеш меню и структуры навигации