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

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

Если вам важна скорость отдачи сайта, а у вашего сервера медленный диск для использования кеша на файлах. Можно кешировать данные прямо в оперативную память с использование технологии 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: заметки разработчика

Прятать или показывать описание раздела каталога

В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...

Вывести производителей на сайте с отбором его товаров из каталога

Достаточно частая задачка для каталога или интернет-магазина: вывести список производителей с подробными описаниями, а т...

Работа с пользователями через API D7 1С-Битрикс

Заметка написана на основе старого черновика, и все описанное было проверено на чистой установке 1С-Битрикс. Примеры раб...

Изменить размер картинок на лету в битрикс

Встала задачка: на собственном сайте, уменьшить размер превьюшек картинок у анонсов раздела дизайн. Само собой, перезали...

Вывести минимальную цену самого дешевого торгового предложения

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

Информация о заказах и содержимое корзины текущего пользователя.

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

Вывести дату окончания скидки в карточке товара

Если нужно вывести информацию о скидке в карточке товара, можно воспользоваться методом CCatalogDiscount::GetList. Данны...

Fancybox в стандартном шаблоне детальной карточки товара, 1С-Битрикс, вместо всплывающего окна и лупы.

Задача: заменить работу с изображениями в стандартном или кастомном шаблоне детальной карточки (catalog.element)...

Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс

Настройка выгрузки в Яндекс маркет в формате yml, выполняется достаточно просто, кроме одной заморочки: в типовой постав...