Wenn Sie die Komponente gb.memcached testen wollen – die Ihnen einen Memcached-Client zur Verfügung stellt – dann benötigen Sie den Memcached-Server (MCS) auf Ihrem System.
Eine ausführliche Beschreibung des Protokolls des Servers Memcached finden Sie auf den folgenden Webseiten:
https://github.com/memcached/memcached/blob/master/doc/protocol.txt
Der Server Memcached kann über die Anwendungsverwaltung installiert werden oder Sie geben in einem Terminal folgende Zeilen ein:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install memcached
So ermitteln Sie den Status des Server Memcached, da der Server Memcached nach der Installation sofort gestartet wird und auf dem (Standard-)Port 11211 lauscht:
$ service memcached status oder $ /etc/init.d/memcached status
Ausgabe in einer Konsole:
hans@mint20:~$ service memcached status ● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-03-23 11:53:29 CET; 33min ago Docs: man:memcached(1) Main PID: 4900 (memcached) Tasks: 10 (limit: 18941) Memory: 2.0M CGroup: /system.slice/memcached.service └─4900 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid Mär 23 11:53:29 mint20 systemd[1]: Started memcached daemon.
Allgemein gilt für die Steuerung:
$ /etc/init.d/memcached {start|stop|restart|force-reload|status} oder $ service memcached {start|stop|restart|force-reload|status}
Wenn Sie ständig mit dem Memcached-Server arbeiten, dann lohnt das Anlegen von Startern auf dem Desktop für ausgewählte Aktionen wie zum Beispiel das Starten oder das Stoppen. Die Standard-Konfiguration muss im Normalfall nicht geändert werden. Die Konfigurationsdatei finden Sie hier:
/etc/memcached.conf
und Log-Dateien dort:
/var/log/memcached.log
Für einen ersten Test, der Ihnen auch die grundlegende Arbeitsweise von MC-Server und MC-Client zeigen soll, können Sie das Programm telnet als Memcached-Client einsetzen – mit der IP-Adresse 127.0.0.1 und dem Port 11211.
Das folgende Konzept soll umgesetzt werden:
Konsole:
# telnet hostname/ip port hans@mint20:~$ telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. # version version VERSION 1.5.22 # set key_name meta_data expiry_time_in_seconds length_in_bytes set TESTKEY 0 100 8 # + ENTER MINISINI STORED # get key_name get TESTKEY VALUE TESTKEY 0 8 MINISINI END # replace key_name meta_data expiry_time_in_seconds length_in_bytes replace TESTKEY 0 100 9 GIANLUIGI STORED # delete key_name delete TESTKEY DELETED # stats stats STAT pid 4900 STAT uptime 9032 STAT time 1616505839 STAT version 1.5.22 ... STAT direct_reclaims 0 STAT lru_bumps_dropped 0 END # flush_all flush_all OK # quit quit Connection closed by foreign host. hans@mint20:~$
Übersicht zu ausgewählten Meldungen des MC-Servers:
Seine Stärken spielt der Server Memcached erst dann aus, wenn Sie die zu speichernden Daten in einer modifizierten Form abspeichern.
# telnet hostname/ip port hans@mint20:~$ telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. # set key_name meta_data expiry_time_in_seconds length_in_bytes set TestKey 0 100 6 # ENTER Gambas STORED # get key_name get TestKey VALUE TestKey 0 6 Gambas END # replace key_name meta_data expiry_time_in_seconds length_in_bytes replace TestKey 0 100 13 Gambas 3.15.2 STORED # delete key_name delete TestKey DELETED # stats stats STAT pid 4900 STAT uptime 9032 STAT time 1616505839 STAT version 1.5.22 ... STAT direct_reclaims 0 STAT lru_bumps_dropped 0 END # flush_all flush_all OK # quit quit Connection closed by foreign host. hans@mint20:~$
Ob Memcached als Caching-Lösung die beste Option ist, hängt von den Ansprüchen und der Komplexität der jeweiligen Anwendung ab. Besonders sinnvoll ist das temporäre Speichersystem zum Beispiel für Webanwendungen mit hohem Traffic und Seiten, die auf riesige Datenbanken zugreifen.