Сама по себе установка Memcached не вызовет проблем. Вам достаточно выполнить такую команду:
sudo apt install memcached libmemcached-tools
Вместе с самим сервисом мы устанавливаем набор дополнительных утилит для более простого управления Memcached. На этом установка завершена.
Настройка Memcached Ubuntu выполняется через файл /etc/memcahced.conf. В этом файле содержаться опции, которые будут переданы сервису при запуске:
Таким образом, большинство опций можно оставить по умолчанию. Изменить нужно только объём оперативной памяти и IP-адрес.
Даже если сервис был запущен по умолчанию, после изменения настроек его нужно перезапустить:
sudo systemctl restart memcached
Можно ещё убедиться, что Memcached работает именно на том IP и порте, которые нам нужны:
ss -tlpn
Затем вы можете посмотреть статистику использования сервиса командой:
memcstat –servers=“127.0.0.1”
Работать с Memcached мы можем уже сейчас. Для этого нужно использовать Telnet. Подключаемся к серверу:
telnet localhost 11211
Если подключение прошло успешно, вы увидите такое сообщение:
Используйте команду stats, чтобы получить общую статистику, которую мы видели в выводе команды memcstat:
stats
Для того, чтобы сохранить данные, используется команда add. У неё такой синтаксис:
add
имя_ключа
флаги
время_хранения
размер_данных
данные
Флаги - это целое число, которое хранится вместе с данными, и вместе с ними возвращается пользователю, можно просто оставить 0. Время хранения - это время в секундах, сколько будут хранится эти данные, 0 означает вечно. Размер данных в байтах определяет, сколько памяти будет задействовано под эти данные. Далее нужно нажать Enter и ввести данные, которые нужно сохранить. Например, сохраним строку memcached в ключе key навсегда:
add key 0 0 9
memcached
Получить значение сохранённого ключа можно командой get:
get key
А удалить этот ключ командой delete:
delete key
А вот посмотреть список всех ключей в Telnet так просто не получится. Сначала нужно посмотреть список хранилищ:
stats items
А затем командой stats cachedump можно вывести список ключей хранилища. Первый параметр - это идентификатор хранилища, а второй - лимит ключей для вывода:
stats cachedump 1 100
Для выхода наберите команду quit. С помощью команды memcdump вы можете вывести список всех сохраненных ключей:
memdump –servers=127.0.0.1
А с помощью memccat можно вывести значение нужного ключа:
memccat key –servers=127.0.0.1
Но все эти возможности используются только для отладки. Для реального хранения данных используются клиенты memcached для разных языков программирования. Их очень просто установить. Давайте рассмотрим это на примере Php.
Давайте рассмотрим настройку библиотеки Memcached для Php. Чтобы её установить, выполните:
sudo apt install php-memcached
Затем перезапустите apache, если хотите использовать модуль на веб-сервере:
sudo systemctl restart apache2
Далее вы можете убедится, что модуль активирован, вызвав функцию phpinfo():
<?php phpinfo();?>
В этой статье мы разобрали, как выполняется установка Memcached Ubuntu, а также как использовать этот сервис для кэширования данных из командной строки или в PHP. Не забудьте убедиться, что сервис слушает подключения только на локальном IP- адресе, поскольку здесь нет аутентификации, и к вашим данным смогут получить доступ другие пользователи. Также это может быть небезопасным из-за того, что в Memcached были найдены уязвимости, которые позволяют осуществлять атаку типа отказ в обслуживании.