Memcached jest to system buforowania danych i obiektów, który potrafi znacznie zredukować czas potrzebny na uzyskanie danych z bazy danych poprzez ich buforowanie.
Instalacja Memcached
Aktualizujemy system oraz instalujemy memcached.
apt update apt install memcached
Podstawowa konfiguracja Memcached
Plik konfiguracyjny Memcached to /etc/memcached.conf
.
Podstawowe parametry konfiguracyjne:
-m – maksymalna ilość pamięci przeznaczona dla Memcached. (domyśłnie: 64 MB)
-p – port na którym nasłuchuje Memcached. (domyślnie: 11211)
-l – adres IP na którym nasłuchuje usługa Memcached domyślnie localhost (127.0.0.1). Aby nasłuchiwała na wszystkich interfejsach należy użyć 0.0.0.0.
Po wprowadzeniu zmian restartujemy usługę:
systemctl restart memcached
Memcached na sockecie
Jeśli mamy cały stack technologiczny na jednym serwerze – jak np. typowy LAMP / LEMP na serwerze VPS – warto uruchomić memcached na sockecie, choćby ze względu na wydajność (brak konieczności nawiązywania połączenia tcp).
Do pliku konfiguracyjnego /etc/memcached.conf
dodajemy opcje:
# Plik gniazda -s /var/run/memcached/memcached.sock # Uprawnienia -a 770
Usuwamy (lub nie) opcję dla adresu IP oraz portu -p oraz -l
Dodajemy użytkownika memcache do grupy www-data – domyślna grupa dla Apache, Nginx, PHP-FPM na Debianie i Ubuntu:
usermod -g www-data memcache
Restartujemy memcached, aby zmiany konfiguracyjne weszły w życie:
systemctl restart memcached
Testowanie statusu z linii komend
Jeśli memcached nasłuchuje na porcie (domyślnie):
echo "stats" | nc localhost 11211
Jeśli zmieniliśmy sposób nasłuchiwania memcached na gniazdo unixowe (socket).
echo "stats" |nc -U /var/run/memcached/memcached.sock
Aby to polecenie zadziałało (opcja -U) musimy mieć zainstalowany netcat
w wersji openbsd.
apt install netcat-openbsd
Instalacja rozszerzenia PHP
Instalujemy w systemie rozszerzenie memcached dla PHP.
apt install php-memcached