Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Настройка кэширования

John edited this page Feb 21, 2017 · 1 revision

Настройка кэширование в Bitrix d7

Настройка производится в файле настроек .settings.php (/bitrix/.settings.php). Подробнее о файле настроек

Пример:

  /*Отвечает за кэширование*/
  'cache' => 
  array (
    'value' => 
    array (
      'type' => 'memcache', /*memcache, apc, xcache, files, none*/
      'sid' => '',
      'memcache' => 
      array (
        'host' => '127.0.0.1',
      ),
    ),
    'readonly' => false,
  ),
  • readonly ключ означает, что нельзя изменить значение через API.
  • type принимает значения memcache, apc, xcache, files, none или массив настроек для собственного кэширования.
  • sid - обязательно определять, если на одном сервере запущено более одного экземпляра "1С-Битрикс: Управление сайтом". Это соль которая будет подмешана ко всем ключам кеша. И позволит им "не перепутаться".

Доступны следующие виды кэширования:

  • memcache (кэширование, основанное на оперативной памяти)
  • apc (акселератор для PHP)
  • xcache (акселератор для PHP)
  • files (кэширование, основанное на файлах)
  • none (не использовать кэширование)

Кэширование на файлах

Пример:

  'cache' => 
  array (
    'value' => 
    array (
      'type' => 'files'
    ),
    'readonly' => false,
  ),

Использует в качестве хранилища кеша диск. Это полностью совместимое поведение. При неудачных попытках включения других типов кеша будет использован именно этот тип.

Кэширование APC

Пример:

  'cache' => 
  array (
    'value' => 
    array (
      'type' => 'apc',
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
    'readonly' => false,
  ),

Кэширование XCache

Пример:

  'cache' => 
  array (
    'value' => 
    array (
      'type' => 'xcache',
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
    'readonly' => false,
  ),

Кэширование Memcache

Пример:

  'cache' => 
  array (
    'value' => 
    array (
      'type' => 'memcache',
        'memcache' => array(
            'host' => '127.0.0.1',
            'port' => '11211'
        ),
        'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
    'readonly' => false,
  ),
  • host
    • tcp. Указывается адрес сервера memcache, например 127.0.0.1. Что означает, что демон запущен на этом же сервере.
    • socket. Или указывается сокет, например unix:///tmp/memcached.sock
  • port. По умолчанию 11211 - можно не указывать

Собственное кэширование

Чтобы использовать тип кэширования, который не поддерживается системой или использовать свой тип кэширования, нужно задать массив настроек в ключе type:

'cache' => 
  array (
    'value' => 
    array (
      'type' => array(
        'class_name' => '', //Класс реализующий интерфейс ICacheEngine
        'required_file' => '', //Файл относительно папки local или bitrix
        'required_remote_file' => '', //Абсолютный путь к файлу
        'extension' => '' //Подключение через extension_loaded (имя расширения)
      ),
    ),
    'readonly' => false,
  ),
  • readonly - ключ означает, что нельзя изменить значение через API.
  • class_name - класс реализующий интерфейс ICacheEngine (вместе с namespace).
  • required_file - Файл относительно папки local или bitrix (который нужно подключить для реализации технологии кэша).
  • required_remote_file - Абсолютный путь к файлу (Если файл находится вне папки local или bitrix).
  • extension - Расширение php, которое должно быть включено.

Подробнее о подключении собственного типа кэширвоания

Clone this wiki locally