Linux.memcached: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
der Linux Server Dienst "memcache" bietet eine Semi-Persistente Speicherung von Key+Value Paaren an. Die Daten bleiben erhalten bis der Memcache-Server neu gestartet wird. | der Linux Server Dienst "memcache" bietet eine Semi-Persistente Speicherung von Key+Value Paaren an. Die Daten bleiben erhalten bis der Memcache-Server neu gestartet wird. | ||
* TWebShop konnektiert mit PHP auf diesen Server um eine Round-Robin Sequenz zur Erhalten. Darüber wählen alle beteiligten laufenden WebShop-Forks einen der laufenden XMLRPC- Dienste aus. Eine faire Lastverteilung wird so erreicht. | * TWebShop konnektiert mit PHP auf diesen Server um eine Round-Robin Sequenz zur Erhalten. Darüber wählen alle beteiligten laufenden WebShop-Forks einen der laufenden XMLRPC- Dienste aus. Eine faire Lastverteilung wird so erreicht. | ||
Zeile 63: | Zeile 60: | ||
php --modules | php --modules | ||
== | == Verwendung == | ||
=== Console === | |||
memdump --servers=localhost | |||
=== Pascal === | |||
=== PHP === | |||
<code> | <code> | ||
Zeile 82: | Zeile 88: | ||
</code> | </code> | ||
== | === Putty === | ||
Mit Putty im Telnet-Modus auf den Host mit dem Port 11211 konnektieren. | Mit Putty im Telnet-Modus auf den Host mit dem Port 11211 konnektieren. |
Version vom 1. Dezember 2015, 10:49 Uhr
der Linux Server Dienst "memcache" bietet eine Semi-Persistente Speicherung von Key+Value Paaren an. Die Daten bleiben erhalten bis der Memcache-Server neu gestartet wird.
- TWebShop konnektiert mit PHP auf diesen Server um eine Round-Robin Sequenz zur Erhalten. Darüber wählen alle beteiligten laufenden WebShop-Forks einen der laufenden XMLRPC- Dienste aus. Eine faire Lastverteilung wird so erreicht.
XMLSERVER-LaufendeNummer = inc(RoundRobinsequenz) mod XMLSERVER-AnzahlDienste
- Die Funktion XMLRPC.Versandkosten speichert ihr Ergebnis im memcache ab, sobald der Parameter Systemeinstellungen#memcacheHost gesetzt ist.
Installation
Server Dienst
# Vorbereitungen, Memcached, # PHP pecel # zypper install memcached systemctl enable memcached systemctl start memcached
Test
nc localhost 11211 version # # Die Antwort des Servers sollte sein # VERSION 1.4.2
Mehr als nur lokalen Zugriff erlauben
Als default läuft der memcache Server mit einem "-l <IP-Adresse>" Paramter. Zumeist ist eine Beschränkung auf die lokale Maschine gegeben: "-l 127.0.0.1". Um ihn im Netzwerk sichtbar zu machen muss dieser Anteil der Parameter aus dem Programmaufruf entfernt werden.
joe /etc/sysconfig/memcached
# # "" bedeute ALLE Netzwerkinterfaces, Sicherheits-Relevant # MEMCACHED_PARAMS=""
PHP Module
zypper install php5-pear zypper install php5-devel # PHP-Modul Memcache installieren # Es kommt eine Frage, ob memcache so installiert werden soll, # dass Session Variable dort gespeichert werden können, dies # ist für meinen Fall nicht notwendig pecl install memcache # im Verzeichnis /etc/php5/conf.d joe memcache.ini # Datei: /etc/php5/conf.d/memcache.ini # Nur diese Zeile reicht extension=memcache.so # # prüfen + starten rcapache2 restart php --modules
Verwendung
Console
memdump --servers=localhost
Pascal
PHP
$m = null;
function getSemiPersistenCounter() {
global $m;
if ($m==null) {
$m = new Memcache();
$m->connect("localhost");
$m->add("u-xmlrpc-robin", 0);
}
return $m->increment("u-xmlrpc-robin", 1);
}
Putty
Mit Putty im Telnet-Modus auf den Host mit dem Port 11211 konnektieren.
version
eingeben oder
incr sequence.69VVTGKZ1 0
telnet 10.0.0.2 11211
Alle Werte löschen
via telnet
flush_all
via command-line
memcflush --servers=localhost:11211
Werte
sequence.69VVTGKZ1
Die Round-Robin-Sequenz des TWebShop