Таблица 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