Heute Nacht hat mich mal wieder der Spieltrieb verleitet. Schwups war auf einem Testserver
memcache installiert. Eine passende Testanwendung war ebenfall schnell verfügbar. Kurze Zeit später, habe ich die ersten erfolgreichen Versuche mit
memcache gemacht. Ich muss schon sagen, gerade bei umfangreichen Abfragen macht dieses kleine Stück Software Sinn. Normalerweise dauert es bei der Testanwendung zwischen 5 und 10 Sekunden, bis die vollständige DB durchsucht ist. Dies lässt sich mit
memcache deutlich reduzieren. Gerade weil sich die Daten in der MySQL DB nur ca. alle 40 Minuten ändern, aber relativ häufig abgefragt werden. Um die Daten im
memcache eindeutig zu hinterlegen wird als key-Wert ein md5 der SQL Abfrage gebildet. Damit sollte zu jeder Abfrage auch nur der passende Datensatz zurück geliefert werden.
Übrigens kann man via
memcache auch beliebige Daten schnell und einfach cachen. Da hat
Brad Fitzpatrick ein wirklich nettes Stück Software entworfen. Danke!
Neben eigenen Anwendungen kann man
memcache auch mit
MediaWiki verwenden.
Einfach in der Datei: LocalSettings.php die folgenden Zeilen anpassen:
## Shared memory settings
$wgMainCacheType = CACHE_MEMCACHED;
$wgMemCachedServers = array("127.0.0.1:11211");
Natürlich solle man hier die eigene IP und den eigenen Port hinterlegen!
Links:
http://www.danga.com/memcached/
http://de2.php.net/memcache
http://www.bradfitz.com/