Verschlagwortet: Caching

0

Caching Framework: automatisch Cache leeren bei Datensatzänderung

Das Caching Framework lässt sich gut verwenden, um aufwändig generierte/abgefragte Daten zur Wiederverwendung schneller parat zu haben. Die prinzipielle Funktionsweise haben wir in „Caching Framework nutzen“ erklärt und findet sich auch in der Doku sowie in zahlreichen anderen Blogs. Was aber oftmals fehlt: wie aktualisiert man den Cache bzw. invalidert ihn bei Veränderung der Daten? Häufig hängt der Inhalt des Caches von Datensätzen ab. D.h. der Cache-Inhalt veraltet, wenn sich ein Datensatz verändert. Und damit ist auch der Ansatzpunkt für die Invalidierung klar: der processDatamap_afterDatabaseOperations-Hook im DataHandler. Er wird immer nach Datenbankoperationen („new“ bzw. „update“) aufgerufen und bekommt auch den...

0

Caching Framework in Extensions

Extensions sollten um horizontal zu skalieren, Caches nicht in eigens gebauten $_SESSION Arrays oder Temporaeren SQL Tabellen halten, sondern das ab TYPO3 4.3.0 eingebaute und ab 4.3.1 vollstaendig umgesetzte Caching Framework (ein Backport aus der FLOW3 Entwicklung) verwenden. Ein guter Artikel ist: Caching in Extensions http://danosipov.com/blog/?p=322 Bei der Entwicklung der Extensions ist natuerlich darauf zu achten, dass diese in der Form auch erst ab 4.3.1 korrekt arbeiten, und auf aelteren Installationen nicht funktionieren werden. In kurzen Auszuegen: In die ext_localconf.php folgendes hinzufuegen, wenn Memcached verwendet werden soll: // If cache is not already defined, define it if (!is_array($TYPO3_CONF_VARS[‚SYS‘][‚caching‘][‚cacheConfigurations‘][‚my_extension‘])) { $TYPO3_CONF_VARS[‚SYS‘][‚caching‘]...

5

Server mit memcached, php-memcache und aktiviertem TYPO3 (>4.3.0) Caching Framework

memcached ist perfekt zum cachen eigener Inhalte. Damit der Server damit ausgeruestet ist: apt-get install memcached Ist ein Server mit mehr als 2 Kernen ausgestattet, sollte das threaded Paket installiert. Der memcached sollte den freien RAM vollstaendig ausnutzen (nicht ueberbuchen, damit’s nicht ins SWAP geht). Die Speichermenge kann in /etc/memcached.conf eingestellt werden. PHP kann eine API anbieten (die Applikationen muessen sich aber schon selbstaendig um die Verwendung und Organisation des Caches kuemmern: z.B. TYPO3 Extensions koennen vom TYPO3 Core Caching Framework via memcache profitieren ) Um die PHP Erweiterung zu installieren: apt-get install php5-dev pecl install memcache-3.0.6 Ideale PHP Werte...