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

Таблица cache_config

Таблица cache_config является одной из ключевых таблиц кеширования в Drupal. Её основное назначение - хранить предварительно загруженные и подготовленные данные конфигурации, что значительно сокращает время их последующего чтения и обработки.

Поля

Поле Тип данных Описание
cid varchar(255) Первичный ключ. Уникальный идентификатор кеш-записи (Cache ID). Обычно представляет собой имя конфигурационного объекта, например, system.site.
data blob Сериализованные и, опционально, сжатые данные конфигурации. Именно здесь хранятся сами кешированные значения.
expire int Временная метка Unix, указывающая срок действия кеш-записи. Значение 0 означает, что запись не имеет срока годности. Значение -1 (Cache::PERMANENT) означает, что запись никогда не истекает и должна быть удалена только при явном сбросе кеша.
created int Временная метка Unix, указывающая, когда была создана данная кеш-запись.
serialized smallint Флаг, указывающий, были ли данные сериализованы перед сохранением. 1 - данные сериализованы, 0 - нет.
tags longtext Список тегов кеша, разделенных переводом строки. Теги используются для инвалидации (признания недействительными) групп связанных кеш-записей. Например, при изменении конфигурации модуля инвалидируются все записи с тегом config:module.settings.
checksum varchar(255) Контрольная сумма, используемая для проверки целостности данных при использовании нескольких серверов кеширования или репликации базы данных.

Как это работает

Когда Drupal загружает конфигурацию (например, настройки сайта из system.site), он сначала проверяет её наличие в статической памяти (статических переменных PHP). Если там её нет, система обращается к таблице cache_config для поиска кешированной версии.

Если запись найдена, не просрочена (поле expire) и валидна, данные десериализуются из поля data и возвращаются. Этот процесс намного быстрее, чем загрузка и объединение данных конфигурации из активной хранилища (например, таблицы config).

Если подходящей записи в кеше нет, конфигурация загружается из активного хранилища, подготавливается и сохраняется в cache_config для последующих запросов.

При изменении любой конфигурации через административный интерфейс или API, соответствующие кеш-записи инвалидируются. Это происходит с помощью системы тегов (поле tags). Например, сохранение настроек модуля вызовет сброс всех кеш-записей с тегом config:module.settings.

Пример SQL-запроса

Посмотреть все кешированные данные для конфигурации сайта и время их создания можно следующим запросом:

SELECT cid, created, expire FROM cache_config WHERE cid LIKE 'system.site%';

Для просмотра содержимого конкретной кеш-записи (с десериализацией данных):

SELECT cid, created, expire, CASE serialized WHEN 1 THEN UNCOMPRESS(data) ELSE data END as raw_data FROM cache_config WHERE cid = 'system.site';

Смотрите также

  • таблицу config,
    которая хранит активную конфигурацию сайта
  • таблицу cache_bootstrap,
    которая кеширует критически важные для загрузки данные
  • таблицу cache_data (или cache_default),
    которая является общим кешем для данных
  • таблицу cachetags,
    которая отслеживает актуальность записей по тегам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить