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

Таблица views_cache

Таблица views_cache является частью системы кеширования модуля Views в 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) Контрольная сумма тегов, используемая для быстрой проверки актуальности кеш-записи.

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

Когда пользователь запрашивает страницу с представлением, система Views сначала проверяет наличие актуальной кеш-записи для этого конкретного запроса в таблице views_cache. Если запись найдена и ее срок действия не истек, данные извлекаются из кеша без выполнения ресурсоемкого SQL-запроса к базе данных.

Если кеш-запись отсутствует или устарела, выполняется полный процесс построения представления: выполняется SQL-запрос, результаты обрабатываются, тематизируются и затем сохраняются в views_cache для последующих запросов.

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

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

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

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

SELECT cid, created, expire FROM views_cache WHERE expire > UNIX_TIMESTAMP() OR expire = 0 ORDER BY created DESC;

Очистить весь кеш представлений можно с помощью команды:

TRUNCATE TABLE views_cache;

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

  • таблицу cache_default,
    которая содержит общий кеш данных Drupal
  • таблицу views_view,
    которая хранит конфигурации представлений
  • таблицу views_display,
    которая содержит настройки отображений представлений
  • таблицу node,
    которая хранит основные данные материалов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить