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

Таблица cache_update

Таблица cache_update является одной из стандартных кэш-таблиц Drupal и используется системой обновлений (Update Manager) для временного хранения данных, полученных с серверов обновлений. Это позволяет избежать многократных запросов к внешним серверам при проверке доступности обновлений и значительно ускоряет работу административного интерфейса.

Поля

Поле Тип данных Описание
cid varchar(255) Уникальный идентификатор кэш-записи. Обычно содержит хеш или уникальное имя, сгенерированное на основе параметров запроса к серверу обновлений.
data longblob Сериализованные данные, полученные от сервера обновлений. Содержат информацию о доступных релизах, версиях, ссылках для скачивания и рекомендациях по безопасности.
expire int Время истечения срока действия кэш-записи в формате Unix timestamp. По умолчанию данные об обновлениях кэшируются на 6 часов.
created int Время создания кэш-записи в формате Unix timestamp.
serialized smallint Флаг, указывающий на то, что данные в поле data сериализованы. Принимает значение 1 (сериализованы) или 0 (не сериализованы).
tags longtext Теги кэша, используемые для инвалидации групп кэш-записей. Для данной таблицы обычно не используется.
checksum varchar(255) Контрольная сумма данных, используемая для проверки целостности кэш-записи.

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

При проверке обновлений через административную панель Drupal (Отчеты > Доступные обновления) система сначала проверяет наличие актуальных данных в таблице cache_update. Если запись существует и ее срок действия не истек (поле expire), данные берутся из кэша без обращения к внешним серверам.

Если кэш-запись отсутствует или устарела, Drupal отправляет запрос на сервер обновлений Drupal.org (или другой настроенный сервер), передавая информацию об установленных модулях, темах и их версиях. Полученный ответ сериализуется, сохраняется в поле data и кэшируется на определённое время.

Кэширование данных об обновлениях критически важно для производительности сайта, так как запросы к внешним серверам могут занимать значительное время, особенно при большом количестве установленных модулей.

Очистка устаревших записей из таблицы выполняется стандартным механизмом крон-заданий Drupal при выполнении drupal_cron_run().

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

Посмотреть содержимое кэша обновлений можно следующим запросом:

SELECT cid, FROM_UNIXTIME(created) as created, FROM_UNIXTIME(expire) as expire FROM cache_update WHERE expire > UNIX_TIMESTAMP() ORDER BY created DESC;

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

  • таблицу cache_bootstrap,
    которая хранит кэш начальной загрузки системы
  • таблицу cache_container,
    которая хранит кэш контейнера зависимостей
  • таблицу cache_config,
    которая хранит кэш конфигурации
  • таблицу cache_data,
    которая хранит общий кэш данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить