Memcached на сайте под управлением битрикс, при использовании Веб Окружения Битрикс

Просмотров: 10831

Если вам важна скорость отдачи сайта, а у вашего сервера медленный диск для использования кеша на файлах. Можно кешировать данные прямо в оперативную память с использование технологии memcahed.

Memcached в Битрикс

Для начала открываем файл .settings.php который лежит в корне и добавляем в него:

'cache' => array(
	   'value' => array (
	     'type' => 'memcache',
	     'memcache' => array(
	       'host' => '127.0.0.1',
	       'port' => '11211',
	       'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01",
	     ),
	   ),
	   'readonly' => false,
	 ),

Далее идем в Настройки -> Управление масштабированием -> Панель управления и в пунке Memcahed выбираем "Добавить роль Memcahed", на этом этапе может возникнуть одна, не большая, заморочка- как ее решить смотрите в видео.

Видео, настройка memcached в битрикс:

Обновление: memcached в новых версиях 1С-Битрикс

Дополнено спустя несколько лет. Теперь, что бы включить memcached нужно:
в файл по пути /bitrix/php-interface/dbconn.php добавить

define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#site01");
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");

В директории bitrix создать (или заменить содержимое) файл .settings_extra.php и в него добавить

return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => '127.0.0.1',
        'port' => '11211',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01"
    ),
  ),
);
О комплексном ускорении сайта на 1С-Битрикс можно ознакомиться в этой заметке. Про более детальную настройку memcached там же: Ускорение работы сайта на 1С-Битрикс
Микки Маус 07.06.2019
Подскажите, пожалуйста, как записать второй сайт?! У меня многосайтовость на разных доменах, которую настроил благодаря Вашему уроку. Новой строкой можно?
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01",
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site02",
Напишите полный код, если не трудно.
И еще такой вопрос. Нужно ли включать memcached, если памяти 2Gb, но диск NVMe? Тест показывает , что производительность выше при кэшировании в файл. Несущественно, но выше.
Михаил Базаров 21.05.2022
Цитата
Микки Маус написал:
Подскажите, пожалуйста, как записать второй сайт?! У меня многосайтовость на разных доменах, которую настроил благодаря Вашему уроку. Новой строкой можно?
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01",
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site02",

На многосайтовости достаточно одной строки, сколько бы сайтов не было- Битрикс сам разрулится с их кешами.
А по поводу включать или нет: тут решайте сами. Думаю, когда кеша станет много и вырастет посещаемость: из оперативки будет отдаваться быстрее.
Вадим 04.10.2023
Добрый день, Михаил!

Подскажите, используется веб-окружение 7.5.2, до настройки memcached, хранение кеша - cacheenginefiles, после настройки, написано, что используется cachememcached. На сайте в режиме отладки: Объем кеша: 0 Б (105). Скрипт для проверки работоспособности показывает, что memcached работает.

1) cachememcached - правильно понимаю, что используется memcached?
2) Объем кеша: 0 Б (105) - почему может показывать, что объем кеша 0 ?
Гость 04.10.2023
Цитата
Вадим написал:
Добрый день, Михаил!

Подскажите, используется веб-окружение 7.5.2, до настройки memcached, хранение кеша - cacheenginefiles, после настройки, написано, что используется cachememcached. На сайте в режиме отладки: Объем кеша: 0 Б (105). Скрипт для проверки работоспособности показывает, что memcached работает.

1) cachememcached - правильно понимаю, что используется memcached?
2) Объем кеша: 0 Б (105) - почему может показывать, что объем кеша 0 ?

Михаил, правильно понимаю, что после версии битрикс 14.0, не нужно редактировать файл dbconn.php и .settings_extra.php, достаточно прописать настройки в файле .settings.php ?
Установлена актуальная версия "1С-Битрикс: Управление сайтом 23.500.200".
Михаил Базаров 04.10.2023
Немного не так.
Больше не надо в dbconn.php и в .settings.php
Достаточно только в .settings_extra.php

Блог-note: заметки разработчика

Основные функции вывода в шаблонах Битрикс

Знаю, что все их знают. Но иногда не бывает лишним собрать все самое используемое в одну кучку. Ведь у каждого бывают мо...

Input Type File, множественный с дропзоной и показом превью

Задача: Сделать возможность загрузки файлов в множественный input type="file" c помощью drag&drop и показом превью загру...

Увидеть файл заказов который передаст Битрикс в 1С

Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с зака...

Работа с HTTP-запросами в Bitrix: Обзор возможностей класса \Bitrix\Main\HttpRequest

Класс \Bitrix\Main\HttpRequest, является наследником класса Request, представляет собой мощный инструмент для работы с д...

AJAX корзина с отправкой количества из раздела каталога

Столкнулся с задачкой: нужно было на одном сайте реализовать интерактивный прайс лист. При этом, у пользователя должна б...

Вывести артикул в печатную форму бланка заказа

Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе.

Ajax форма обратной связи, реализация в битрикс

Иногда, на сайте требуется создать форму обратной связи, которая будет писать все данные в инфоблок. Способов реализации...

Получить и вывести все цены товара в 1С-Битрикс

Задача: получить и вывести все цены товара по его ID в каталоге 1С-Битрикс (например, в детальной карточке catalog.e...

Сортировка элементов по индексу сортировки значений типа список

Внутри любого компонента есть заранее заложенные поля для сортировки элементов. Можно сортировать элементы в разных напр...