Wie man Memcached unter Debian 11 installiert und konfiguriert

Memcached ist ein quelloffenes und verteiltes Caching-System für Speicherobjekte, das die am häufigsten abgefragten Daten im Speicher hält. Dadurch wird die Ladezeit der Daten reduziert und der Zugriff auf die Datenbank erleichtert. Du kannst Memcached nutzen, um dynamische Webanwendungen zu beschleunigen, indem du die Datenbank entlastest. Memcached ist einfach und leicht zu implementieren und kann in verschiedene Programmiersprachen wie PHP, Python und andere integriert werden.

In diesem Tutorial zeige ich dir, wie du Memcached unter Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Memcached unter Debian 11 installieren

Standardmäßig ist Memcached im Standard-Repository von Debian 11 enthalten. Du kannst es installieren, indem du den folgenden Befehl ausführst:

apt-get install memcached libmemcached-tools -y

Sobald Memcached installiert ist, starte den Memcached-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:

systemctl start memcached
systemctl enable memcached

Du kannst den Status von Memcached auch mit folgendem Befehl überprüfen:

systemctl status memcached

Du solltest die folgende Ausgabe erhalten:

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-11-01 10:12:25 UTC; 14s ago
       Docs: man:memcached(1)
   Main PID: 28398 (memcached)
      Tasks: 10 (limit: 4679)
     Memory: 3.1M
        CPU: 28ms
     CGroup: /system.slice/memcached.service
             ??28398 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Nov 01 10:12:25 debian11 systemd[1]: Started memcached daemon.

Standardmäßig lauscht Memcached auf Port 11211. Du kannst dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep memcached

Du erhältst die folgende Ausgabe:

LISTEN 0      1024       127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=28398,fd=26))

Memcached konfigurieren

Die Standardkonfigurationsdatei von Memcached befindet sich unter /etc/memcached.conf. Du kannst sie mit dem folgenden Befehl bearbeiten:

nano /etc/memcached.conf

Du kannst einige Standardoptionen nach deinen Bedürfnissen ändern:

-l 127.0.0.1
-U 0
-p 11211
-u memcache
-m 2000

Speichere und schließe die Datei und starte den Memcached-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart memcached

Enable Memcached for PHP and Python Applications

Um Memcached mit einer PHP-basierten Anwendung nutzen zu können, musst du die Memcached PHP-Bibliothek auf deinem Server installieren. Du kannst sie mit dem folgenden Befehl installieren:

apt-get install php-memcached -y

Wenn du die Python- und Perl-Unterstützung aktivieren willst, führe folgenden Befehl aus:

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

Sobald alle Bibliotheken installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Überprüfe Memcached

Memcached ist nun installiert und konfiguriert. Erstelle nun ein einfaches PHP-Skript, um den Memcached zu überprüfen. Installiere zunächst Apache und PHP mit dem folgenden Befehl:

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

Wenn alle Pakete installiert sind, erstelle eine info.php-Datei mit dem folgenden Befehl:

nano /var/www/html/info.php

Füge die folgenden Zeilen ein:

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

Speichere und schließe die Datei, öffne dann deinen Webbrowser und rufe die URL http://your-server-ip/info.php auf. Auf der folgenden Testseite solltest du sehen, dass Memcached aktiviert ist:

memcached PHP-Erweiterung

Zugriff auf die Memcached CLI-Schnittstelle

Memcached bietet eine Befehlszeilenschnittstelle, mit der du direkt über die Befehlszeile mit Memcached interagieren kannst.

Verbinde dich zunächst mit Memcached, indem du den folgenden Befehl eingibst:

telnet localhost 11211

Sobald du verbunden bist, erhältst du die folgende Ausgabe:

Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Überprüfe nun den Status von Memcached mit folgendem Befehl:

stats

In der folgenden Ausgabe siehst du einige wichtige Informationen wie die Betriebszeit, die Anzahl der Elemente im Cache und die Anzahl der Client-Verbindungen zur Instanz:

STAT pid 28398
STAT uptime 222
STAT time 1635761765
STAT version 1.6.9
STAT libevent 2.1.12-stable
STAT pointer_size 64
STAT rusage_user 0.049028
STAT rusage_system 0.049054
STAT max_connections 1024
STAT curr_connections 1
STAT total_connections 2
STAT rejected_connections 0
STAT connection_structures 2
STAT response_obj_oom 0
STAT response_obj_count 1
STAT response_obj_bytes 16384
STAT read_buf_count 2
STAT read_buf_bytes 32768
STAT read_buf_bytes_free 0
STAT read_buf_oom 0
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT cmd_meta 0
STAT get_hits 0
STAT get_misses 0
STAT get_expired 0
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 7
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 0
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 0
STAT slab_reassign_inline_reclaim 0
STAT slab_reassign_busy_items 0
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 0
STAT lru_crawler_running 0
STAT lru_crawler_starts 3
STAT lru_maintainer_juggles 272
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT unexpected_napi_ids 0
STAT round_robin_fallback 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT slab_global_page_pool 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evicted_active 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
STAT moves_to_cold 0
STAT moves_to_warm 0
STAT moves_within_lru 0
STAT direct_reclaims 0
STAT lru_bumps_dropped 0

Fazit

Glückwunsch! Du hast Memcached erfolgreich auf Debian 11 installiert. Jetzt kannst du Memcached in PHP- oder Python-basierte Anwendungen integrieren und die Geschwindigkeit deiner Website erhöhen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …