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

Таблица cache_toolbar

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

Поля

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

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

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

Ключ кеша (cid) обычно включает идентификатор пользователя и контекст, что позволяет иметь различные кешированные версии панели для разных пользователей и языков.

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

Инвалидация (очистка) кеша происходит при различных событиях: изменении прав пользователя, обновлении меню, очистке кеша через административный интерфейс. Это обеспечивается системой тегов Drupal Cache API.

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

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

SELECT cid, created, expire FROM cache_toolbar WHERE expire = 0 OR expire > UNIX_TIMESTAMP();

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

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