Хранение и кеширование
С версии 1.1.3 рабочие данные находятся в основной базе данных 1С-Битрикс.
Таблицы
b_kokhanenko_settings_types— типы и записи, скрывающие глобальный тип на отдельном сайте;b_kokhanenko_settings— значения и метаданные полей.
Доступ к таблицам реализован через D7 ORM:
Kokhanenko\Settings\Internals\SettingsTypeTable;Kokhanenko\Settings\Internals\SettingsTable.
Прикладному коду не следует обращаться к таблицам напрямую. Сервисный слой обеспечивает преобразование полей, валидацию и сброс кеша.
Кеш
Чтение кешируется на двух уровнях:
- статическая память текущего запроса;
- файловый кеш Битрикса на 86 400 секунд.
Все штатные операции добавления, изменения, удаления и миграции сбрасывают кеш. Если данные изменили в обход сервисов, очистите кеш самостоятельно:
use Kokhanenko\Settings\Service\SettingsCache;
SettingsCache::clear();
Прямое изменение таблиц не рекомендуется: оно может оставить устаревшие значения в кеше и обойти валидацию.
Валидация
Сервис проверяет идентификаторы типов и настроек, область global или local,
идентификатор сайта, группу, сортировку, активность и вид поля. Допустимые виды
поля: input, textarea, checkbox, select, select_multiple, time и
calendar.