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

Таблица cache_entity

Таблица cache_entity является одной из основных таблиц кеширования в Drupal. Она хранит предварительно загруженные и обработанные данные сущностей (нодов, пользователей, терминов таксономии и других), что значительно ускоряет их последующую загрузку и отображение.

Поля

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

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

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

При создании или изменении сущности соответствующие кеш-записи инвалидируются (помечаются как устаревшие) с использованием системы тегов. Это гарантирует, что пользователи всегда видят актуальные данные.

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

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

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

SELECT cid, created, expire FROM cache_entity WHERE cid LIKE 'values:node%' ORDER BY created DESC LIMIT 10;

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

  • таблицу cache_default,
    которая содержит общий кеш данных по умолчанию
  • таблицу cache_render,
    которая хранит кешированные HTML-выводы рендеринга
  • таблицу cache_discovery,
    которая содержит кеш обнаружения плагинов и расширений
  • таблицу cache_config,
    которая хранит кешированные конфигурации Drupal
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить