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

Таблица cache_filter

Таблица cache_filter используется системой Drupal для хранения обработанного контента, который прошел через систему текстовых фильтров (текстовые форматы). Это значительно ускоряет отображение страниц, так как避免了 повторной обработки контента при каждом запросе.

Поля

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

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

Когда Drupal обрабатывает текст (например, тело ноды или комментария) с применением текстового формата (фильтры, например, "Ограниченный HTML" или "Полный HTML"), результат этой ресурсоемкой операции сохраняется в таблице cache_filter.

При последующих запросах того же контента система сначала проверяет наличие действительной записи в кеше. Если запись найдена и не устарела (поле expire), Drupal использует готовый результат из поля data,避免了 повторного запуска фильтров.

Кеш становится недействительным (инвалидируется) при изменении исходного контента, изменении конфигурации текстового формата или по истечении срока действия, заданного в настройках производительности сайта. Инвалидация часто происходит по тегам, указанным в поле tags.

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

Посмотреть все кеш-записи для определенного текстового формата (например, с ID 1) можно следующим запросом:

SELECT cid, created, expire FROM cache_filter WHERE cid LIKE 'filter:%:1' ORDER BY created DESC;

Очистить все просроченные записи из кеша:

DELETE FROM cache_filter WHERE expire != 0 AND expire < UNIX_TIMESTAMP();

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

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