Гид по технологиям

Установка Memcached на Debian 11

• 4 min read • DevOps • Обновлено 24 Nov 2025
Установка Memcached на Debian 11
Установка Memcached на Debian 11

Краткое изображение Memcached

Что такое Memcached (одной строкой): быстрый распределённый кеш в оперативной памяти для ускорения динамических веб-приложений.

Предварительные требования

  • Сервер с Debian 11.
  • Доступ под root или права sudo.

Установка Memcached на Debian 11

По умолчанию пакет Memcached есть в стандартных репозиториях Debian 11. Установите его вместе с инструментами клиента:

apt-get install memcached libmemcached-tools -y

После установки запустите сервис и включите автозапуск при загрузке:

systemctl start memcached
systemctl enable memcached

Проверить статус сервиса можно так:

systemctl status memcached

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

ss -antpl | grep memcached

Настройка Memcached

Файл конфигурации по умолчанию: /etc/memcached.conf. Отредактируйте его любимым редактором:

nano /etc/memcached.conf

Типичные параметры, которые можно изменить:

-l 127.0.0.1       # IP-адрес для прослушивания
-U 0               # UDP отключён (0)
-p 11211           # Порт
-u memcache        # Пользователь процесса
-m 2000            # Память для кеша в МБ

После правок перезапустите сервис:

systemctl restart memcached

Совет: уменьшайте -m, если на сервере мало памяти, или увеличивайте под нагрузкой. Следите за swap и общей загрузкой.

Включение поддержки Memcached в PHP и Python

Для PHP установите модуль:

apt-get install php-memcached -y

Для Python и Perl установите клиентские библиотеки:

apt-get install python3-pymemcache libcache-memcached-libmemcached-perl -y

После установки расширений перезапустите веб‑сервер, если он уже запущен.

Проверка работы Memcached через PHP

Установите Apache и PHP, если их ещё нет:

apt-get install apache2 php libapache2-mod-php -y

Создайте тестовую страницу:

nano /var/www/html/info.php

Вставьте:

Откройте в браузере: http://your-server-ip/info.php

На странице phpinfo() вы увидите секцию, подтверждающую наличие и включение расширения Memcached.

Расширение Memcached в PHP — страница phpinfo

Доступ к CLI Memcached

Memcached поддерживает простое текстовое взаимодействие по TCP. Подключитесь через telnet:

telnet localhost 11211

После подключения выполните команду stats для просмотра метрик:

stats

Вы увидите набор строк STAT с информацией о времени работы, количестве элементов в кеше, подключениях и т.д. Для выхода наберите quit.

Критерии приёмки

  • Memcached установлен и запущен (systemctl active).
  • Порт 11211 слушает на ожидаемом адресе (ss или netstat).
  • PHP/Python клиенты успешно подключаются и могут устанавливать/получать ключи.
  • Тестовая PHP-страница отображает наличие расширения Memcached.

Как тестировать — минимальный набор тестов

  1. Простая запись/чтение через telnet:
set testkey 0 900 5
hello
get testkey

Ожидается: ответ VALUE testkey, затем содержимое.

  1. Тест через PHP (скрипт set/get): установить ключ, прочитать, проверить совпадение.
  2. Нагрузочный тест: использовать libmemcached-tool или собственные скрипты для симуляции запросов и наблюдения за latency.

Когда Memcached не подходит

  • Нужна персистентность данных — Memcached хранит данные только в ОЗУ.
  • Необходима сложная структура данных (списки, сортированные множества) — лучше Redis.
  • Требуется распределённый аккаунтинг и сложные транзакции — подходят БД или специализированные решения.

Альтернативы и краткое сравнение

  • Redis — поддерживает персистентность, сложные структуры данных, репликацию. Подходит, если нужен богатый набор функций.
  • Встроенные кеши приложений (APCu, framework cache) — проще в настройке для локальных случаев.

Модель выбора: Memcached — простая и быстрая память для ключ‑значение; Redis — если нужны дополнительные примитивы или устойчивость.

Безопасность и рекомендации

  • По возможности слушайте Memcached только на localhost (-l 127.0.0.1).
  • Если нужен удалённый доступ, используйте VPN или туннелирование (SSH/mtls) и ограничьте IP‑фильтрацию.
  • Не храните в кеше чувствительные данные без шифрования.
  • Ограничьте пользовательские права процесса (опция -u). Следите за обновлениями безопасности.

Роль‑ориентированный чек‑лист

  • Sysadmin:

    • Установить пакет и включить сервис.
    • Настроить мониторинг (uptime, curr_connections, evictions).
    • Настроить бэкапы конфигурации.
  • Разработчик:

    • Интегрировать клиентскую библиотеку.
    • Добавить обработку ошибок кеша и fallback на БД.
    • Написать тесты на кэшируемые сценарии.
  • DevOps:

    • Настроить метрики (Prometheus/StatsD) для ключевых STAT.
    • Организовать rolling‑обновления и план отката.

Мини‑методология развёртывания (пошагово)

  1. Подготовить сервер и требования (память, сеть).
  2. Установить memcached и клиентские библиотеки.
  3. Настроить конфигурацию /etc/memcached.conf (IP, порт, память).
  4. Перезапустить сервис и проверить статус.
  5. Интегрировать в приложение и провести тестирование.
  6. Включить мониторинг и оповещения по ключевым метрикам.

Факт‑бокс: ключевые параметры по умолчанию

  • Порт: 11211
  • Пользователь процесса: memcache
  • Пример памяти в конфиге: -m 2000 (в МБ в примере)
  • UDP: по умолчанию обычно отключён в конфиге примера (-U 0)

Диаграмма выбора: Memcached vs Redis

flowchart TD
  A[Нужен кеш] --> B{Требуется персистентность?}
  B -- Да --> C[Redis]
  B -- Нет --> D{Требуются сложные структуры?}
  D -- Да --> C
  D -- Нет --> E[Memcached]

Заключение

Поздравляю — Memcached установлен и базово настроен на вашем Debian 11. Вы можете подключить его к PHP или Python‑приложениям, использовать для снижения нагрузки на БД и ускорения откликов. Не забудьте про мониторинг, тестирование и базовые меры безопасности.

Если хотите, я могу подготовить небольшой PHP‑скрипт для тестирования set/get или пример конфигурации systemd unit override для ограничения ресурсов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро