Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Memcached в 1С-Битрикс

Вопрос задан: 24 июня 2026 в 08:00 | Просмотров: 17 Использованные MCP инструменты: searchDocs, liveApiGetClassCode, liveApiFindFunction, liveApiGetClassMethods, liveApiFindByNamespace, liveApiFindByReflection

Задайте свой вопрос — Работает AI в связке с MCP сервером. Перепроверяйте важную информацию.

Memcached в 1С-Битрикс

Memcached — один из поддерживаемых бэкендов для кеширования и key-value хранения данных в 1С-Битрикс. Платформа использует PHP-расширение memcached (отличается от memcache — это два разных расширения PHP).

Классы для работы с Memcached

В модуле main определены следующие классы:

  • \Bitrix\Main\Data\MemcachedConnection — класс подключения к Memcached (наследуется от NosqlConnection). Расположен в файле /bitrix/modules/main/lib/Data/MemcachedConnection.php.
  • \Bitrix\Main\Data\CacheEngineMemcached — класс-движок кеширования для Memcached. Расположен в файле /bitrix/modules/main/lib/Data/CacheEngineMemcached.php.
  • \Bitrix\Main\Data\Configurator\MemcachedConnectionConfigurator — конфигуратор подключения.

Методы класса MemcachedConnection

  • __construct(...) — конструктор
  • connectInternal() — внутреннее подключение к серверу
  • disconnectInternal() — отключение
  • get($key) — получение значения по ключу
  • set($key, $value) — установка значения

Настройка подключения Memcached в .settings.php

Подключение настраивается в секции connections файла /bitrix/.settings.php:

'memcached' => [
    'className' => \Bitrix\Main\Data\MemcachedConnection::class,
    'host' => '127.0.0.1',
    'port' => 11211,
    'persistent' => true,
    'connectionTimeout' => 1000,
    'serializer' => \Memcached::SERIALIZER_PHP,
],

Параметры:

  • host — хост сервера Memcached (по умолчанию localhost)
  • port — порт (по умолчанию 11211)
  • persistent — использовать постоянный идентификатор bx_cache (по умолчанию true)
  • connectionTimeout — таймаут подключения в миллисекундах (по умолчанию 1000)
  • serializer — сериализатор Memcached::OPT_SERIALIZER, например \Memcached::SERIALIZER_PHP

Кластер Memcached

Для подключения кластера вместо host и port укажите параметр servers — массив серверов:

'memcached.cluster' => [
    'className' => \Bitrix\Main\Data\MemcachedConnection::class,
    'servers' => [
        ['host' => '10.0.0.20', 'port' => 11211, 'weight' => 1],
        ['host' => '10.0.0.21', 'port' => 11211, 'weight' => 1],
    ],
    'persistent' => true,
    'connectionTimeout' => 1000,
    'serializer' => \Memcached::SERIALIZER_PHP,
],

Каждый элемент массива servers может содержать параметры host, port и weight (вес, по умолчанию 1). Чем больше weight, тем больше запросов получает сервер.

Использование Memcached для кеширования

Memcached можно использовать как движок кеширования в секции cache файла .settings.php:

'cache' => [
    'value' => [
        'type' => [
            'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineMemcached',
            'extension' => 'memcached',
        ],
        'memcached' => [
            'host' => '127.0.0.1',
            'port' => '11211',
        ],
        'sid' => $_SERVER['DOCUMENT_ROOT'] . '#01',
    ],
],

Методы CacheEngineMemcached

  • getConnectionName() — имя подключения
  • getConnectionClass() — класс подключения
  • configure(array $config) — конфигурация движка
  • set($key, $ttl, $value) — запись значения в кеш
  • del($key) — удаление значения
  • setNotExists($key, $ttl, $value) — запись если ключ не существует
  • deleteBySet($key, $prefix) — удаление по набору

Отличие Memcache от Memcached

В 1С-Битрикс поддерживаются оба расширения PHP:

  • Memcache — класс \Bitrix\Main\Data\MemcacheConnection, расширение PHP memcache, используется pconnect для постоянных соединений.
  • Memcached — класс \Bitrix\Main\Data\MemcachedConnection, расширение PHP memcached (более современное и функциональное), поддерживает serializer и OPT_SERIALIZER.

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

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

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс