Возвращаясь к кэшу в скриптах Webasyst

Вопрос кэширования часто используемых и редко изменяемых данных продолжает волновать пользователей скриптов Webasyst, в частности Shopscript 5. В последнем обновлении фреймворка появились кое-какие-дополнительные возможности. Пока это недокументировано, хотя документация, вроде как, обещана. Кеширование данных сейчас возможно при использовании либо файлового кеша, либо Memcached. Ваш покорный слуга закоммитил еще и адаптер для XCache, но его пока нет в обновлении, распространяемом через приложение «Инсталлер».

Кеш по умолчанию выключен. Но если его включить, Shopscript 5 начнет использовать его для кеширования списка категорий, валют, списков товаров, списка страниц. Немало! Тем более, что категорий может быть очень много.

Чтобы включить кэш, надо добавить в директорию wa-config файл cache.php и указать в нем конфигурацию кэша. Конфигураций может быть много, по умолчанию используется конфигурация default. Описание конфигурации выполнено в стиле всех остальных конфигурационных файлов Webasyst: возвращается массив.

Вот так выглядит конфигурация для кэширования с помощью файловой системы:

На самом деле адаптеру кэша могут понадобиться еще и дополнительные параметры. У адаптера file обязательных параметров нет, есть необязательный path, который позволяет указать путь, где будут храниться файлы с кэшированными данными.

Для XCache есть обязательный параметр prefix. XCache хранит данные в shared-памяти, они доступны всем скриптам, выполняющимся на сервере, поэтому чтобы отличать «свои» данные от «чужих» нужно указать префикс для переменных. Настройка для XCache с указанием префикса xpfx_ будет выглядеть так:

Ну, для Memcached сами в коде посмотрите, я его не испытывал. :)

Автор

Сергей Родовниченко

Родился, учился, работал и все такое. Занимаюсь поддержкой сайтов на Shop-Script, Joomla, Wordpress, Prestashop. А также на самописных движках на базе CakePHP.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *