НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
103 of 182 menu

Таблица 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,
    которая содержит кеш меню и структуры навигации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить