
Memcached — это опубликованный кэш-сервер с лицензией BSD, используемый многими организациями и владельцами сайтов для быстрого извлечения данных из памяти. Многие пользователи используют его для повышения общей скорости и производительности своих динамических веб-сайтов при подключении к базам данных, избегая обращения к диску и сохраняя важные данные в памяти или минимизируя вызов сложных и часто используемых запросов к базе данных — особенно операторов SELECT.
Данные имеют уникальное ключевое значение и хранятся в памяти в виде строк, а соединение с сервером Memcached происходит через ПРОТОКОЛЫ TCP и IP. Хранимые данные могут быть как постоянными, так и временными. В случае временного хранения удаление кэшированных данных будет происходить автоматически по истечении заданного интервала времени.
Шаги по установке Memcached Server на Ubuntu 24.04 или 22.04 LTS
Предполагаемое время чтения: 7 минут
1. Обновление Ubuntu 24.04 или 22.04
Зайдите в терминал вашего сервера Ubuntu 24.04 или 22.04 LTS и выполните указанную команду, чтобы установить последние обновления системы.
sudo apt update
2. APT для установки Memcached на Ubuntu 24.04 или 22.04
Нам не нужно добавлять сторонние репозитории для установки Memcached Server на Ubuntu 22.04, поскольку он уже доступен через стандартное Repo системы. Следовательно, мы можем использовать менеджер пакетов APT с доступными именами пакетов для настройки этого кэш-сервера в нашей системе.
Примечание: Второй пакет, который мы установили с помощью нижеприведенной команды, libmemcached-tools, предоставляет утилиту командной строки для управления кэш-сервером с помощью терминала Ubuntu.
sudo apt install memcached libmemcached-tools
3. Проверка службы и версии на Ubuntu 24.04 или 22.04
Теперь давайте проверим, какая версия сервера Memcached установлена в нашей системе. Здесь вы также узнаете команду для проверки состояния службы Memcached.
memcached -V
Для получения статуса службы:
systemctl status memcached -V
Приведенная выше команда сообщит нам, активно ли работает служба нашего кэш-сервера, в том числе о том, с какого IP-адреса и по какому номеру порта можно получить к нему доступ.

4. Чтобы включить Memcached для PHP-приложений
Если вы хотите использовать Memcached на Ubuntu 24.04 или 22.04 для приложений на базе PHP, таких как WordPress, Magento и других, то нам необходимо установить расширение под названием php-memcached
. Его можно легко установить с помощью менеджера пакетов APT. Вот команда:
sudo apt install php-memcached
Примечание: Приведенная выше команда должна выполняться на сервере Ubuntu или Debian, на котором вы размещаете свое PHP-приложение. Мы также предполагаем, что у вас уже установлен PHP. Если у вас нет PHP, выполните эту команду:
sudo apt install apache2 php libapache2-mod-php php-memcached php-cli
5. Проверьте, работает ли Memcached для PHP
Чтобы убедиться в том, что установленный нами Memcached на Ubuntu 24.04 или 22.04 и его расширение работают для PHP-приложений, мы можем создать info.php
файл на сервере, где установлены Apache и PHP.
sudo nano /var/www/html/php.info
Вставьте этот код:
<?php // Show all information, defaults to INFO_ALL phpinfo();
Сохраните файл, используя Ctrl+O, нажмите кнопку Введите , а затем выйдите из текстового редактора с помощью клавиши Ctrl+X.
После этого откройте браузер и укажите на созданный файл: http://server-ip-address/info.php
Прокрутите страницу вниз, и вы найдете раздел с информацией, связанной с Memcached. Это означает, что расширение включено и работает для PHP.

6. Убедитесь, что Memcached кэширует или нет
Теперь давайте подтвердим, что этот кэширующий сервер временно хранит наши данные в памяти, чтобы ускорить работу наших PHP-приложений. Для этого создайте файл Test.php файл.
sudo nano /var/www/html/test.php
Скопируйте и вставьте в файл следующее.
<?php try { $memcached = new Memcached(); $memcached->addServer("127.0.0.1", 11211); $response = $memcached->get("key_cache"); if($response==true) { echo "Result coming from caching"; echo $response; } else { echo "Cache is not created yet, reload again to see changes"; $memcached->set("key_cache", "Hooray! Memcache is working now ...") ; } } catch (exception $e) { echo $e->getMessage(); } ?>
Сохраните файл, используя Ctrl+O, нажмите кнопку Введите , а затем выйдите из текстового редактора с помощью клавиши Ctrl+X.
Теперь откройте браузер и укажите на созданный Test.php файл:
http://your-server-ip-address/test.php
В выводе показано: «Кэш еще не создан; перезагрузите снова, чтобы увидеть изменения»..» Перезагрузить Test.php страница.

Если кэш-сервер работает нормально, то вы увидите следующий результат:
«Получен результат кэширования. Ура! Memcache теперь работает…».

7. Для удаленного сервера
По умолчанию сервер Memcached на Ubuntu 24.04 или 22.04 прослушивает только localhost, что означает, что если Memcached и приложение, такое как WordPress, установлены на одном сервере, то эта настройка абсолютно подходит. Однако если ваше приложение PHP или Python установлено на удаленном сервере и хочет использовать службу Memcached, установленную на другой системе, то нам придется настроить его для этого.
Отредактируйте конфигурационный файл вашего кэш-сервера; вот команда для этого:
sudo nano /etc/memcached.conf
Прокрутите вниз и найдите строку -l 127.0.0.1
и замените 127.0.0.1 с IP-адресом удаленного сервера, на котором запущено ваше приложение и которому требуется служба кэширования.

Например, если IP-адрес 192.168.135.134, тогда это выглядит следующим образом: -l 192.168.135.134
Сохраните файл с помощью — Ctrl+O, нажмите Введите клавиша и выход. Ctrl+X,
Также не забудьте разрешить TCP-порт 11211 в брандмауэре вашего VPS или облачного хостинга. Если вы используете UFW-брандмауэр Ubuntu, то вам нужно открыть порт в нем для удаленного подключения; используйте приведенную команду:
sudo ufw allow 11211/tcp
8. Включите Memcached в приложениях Python (необязательно)
Те, кто использует веб-приложения на базе Python и хочет использовать Memcached, могут установить необходимую библиотеку с помощью менеджера пакетов Python PIP.
pip install pymemcache
pip install python-memcached
9. Командная строка Memcached
Чтобы использовать командную строку для настройки Memcached, воспользуйтесь его командной строкой. Для этого просто введите:
memcached —вариант
Чтобы узнать, какие опции доступны для использования, обратитесь к разделу справки:
memcached -h

10. Удаление Memcached на Ubuntu 24.04 или 22.04
Те, кто хочет удалить этот кэш-сервер из своей системы Ubuntu 24.04 или 22.04 по какой-либо причине, могут воспользоваться данной командой:
sudo apt autoremove --purge memcached libmemcached-tools
FAQ
Memcached — это система распределенного кэширования памяти с открытым исходным кодом. , которая повышает производительность веб-приложений за счет хранения данных из базы данных в оперативной памяти. Она может быть использована для кэширования сессий, веб-страниц, API, результатов запросов и других объектов, таких как изображения, файлы и метаданные.
Memcached — это бесплатный кэширующий сервер с открытым исходным кодом. Поэтому его можно абсолютно свободно использовать в личных и коммерческих целях, не взимая за это никакой платы.
Memcached — это решение для управления данными NoSQL, поскольку в нем используется модель данных «ключ-значение». Он хранит данные в оперативной памяти и повышает производительность передачи данных при вызове пользователем веб-приложения, например сайта на базе WordPress.
Да, мы можем использовать Memcached на Docker. Просто создайте контейнер, используя предварительно созданный образ этой системы кэширования, доступный в библиотеке Docker, и направьте его на ваш сервер, которому требуется служба кэширования.