Memcached ist ein hochperformantes Memory- und Caching-System. Sein Hauptzweck besteht darin Datenbankabfragen, Inhalt und andere berechnete Inhalte im Speicher vorzuhalten. Ursprünglich war Memcached eine Linux-Anwendung. Es ist jedoch Open-Source und wurde somit auch für Windows kompiliert.
Ich nutze in diesem Beispiel die Module von Northscale:
- http://downloads.northscale.com/memcached-win32-1.4.4-14.zip
- http://downloads.northscale.com/memcached-1.4.5-x86.zip
Installation von Memcached < 1.4.5
- Extrahiere das Memcached Archiv an einen Speicherplatz deiner Wahl. Ich habe es in c:\memcached.
- In Versionen vor 1.4.5 kann Memcached als Windows Service installiert werden. Hierfür im Kommandozeilen-Tool (Als Admin öffnen) folgende Zeile ausführen:
c:\memcached\memcached.exe -d install
Der Memcached-Service kann darauf über einen der folgenden Kommandos gestartet oder gestoppt werden:
c:\memcached\memcached.exe -d start c:\memcached\memcached.exe -d stop
Installation von Memcached >= 1.4.5
- Extrahiere das Memcached Archiv an einen Speicherplatz deiner Wahl. Ich habe es in c:\memcached.
- In Version 1.4.5 oder später kann Memcached nicht mehr als Service ausgeführt werden. Es muss als normaler Prozess gestartet werden. Hier können wir die Windows Aufgabenverwaltung nutzen um Memcached mit jedem Systemstart zu starten:
schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"
Integration in Python
Seafile ist in Phyton entwickelt. Damit nun Seafile mit Memcached kommunizieren kann benötigen wir eine Schnittstelle von Phyton nach Memcached. Hierfür nutze ich das Modul Phyton-memcached von tummy.com.
- Extrahiere das Phyton-memcached Archiv an einen Speicherplatz deiner Wahl.
- In einem Kommandozeilen-Tool installiere nun das Modul über das Skript setup.py:
phyton setup.py install
Konfigurieren von Seafile für Memcached
Damit dein Seafile-Server nun auch das Memcached-Modul nutzt muss er hierfür konfiguriert werden. Öffne hierfür die Datei seahub_settings.py im Konfigurationsornder von Seafile und füge die folgenden Zeilen hinzu:
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', } }
Siehe hierfür auch die Seafile-Doku.
Das war’s auch schon. Dein Seafile-Server sollte nun, nicht nur messbar sondern auch fühlbar, performanter und agiler antworten.