(edit)
Hide minor edits - Show changes to markup
(:redirect 'http://docs.studip.de/develop/Entwickler/Cache':)
Seit Version 1.11 ist das Caching fester Bestandteil (FileCaching) und standardmässig aktiviert.
Konvention: Der Schlüssel eines Cache-Eintrags wird durch Vorwärtsschrägstriche "/" in Namensräume aufgeteilt. Stud.IP-Kerndateien sollten "core/XYZ/argument1/argument2/usw" erzeugen. Stud.IP-Plugins sollten dementsprechend "plugin/birthday/22" verwenden. Auf diese Weise sollte es zu keinen Kollisionen kommen.
Achtung: Der Schlüssel und der Wert eines Cache-Eintrags müssen Strings sein. Arrays oder Objekte müssen (de)serialisiert werden.
Der Schlüssel eines Cache-Eintrags wird durch Vorwärtsschrägstriche "/" in Namensräume aufgeteilt. Stud.IP-Kerndateien sollten "core/XYZ/argument1/argument2/usw" erzeugen. Stud.IP-Plugins sollten dementsprechend "plugin/birthday/22" verwenden. Auf diese Weise sollte es zu keinen Kollisionen kommen.
Der Schlüssel und der Wert eines Cache-Eintrags müssen Strings sein. Arrays oder Objekte müssen (de)serialisiert werden.
//Beispiel beim schwarzenBrettPlugin // Konstante in der Klasse festlegen const ARTIKEL_CACHE_KEY = 'plugins/SchwarzesBrettPlugin/artikel/'; //Beispielfunktion private function getArtikel($thema_id) { // Cache-Objekt erzeugen $cache = StudipCacheFactory::getCache(); // Daten aus dem Cache holen $ret = unserialize($cache->read(self::ARTIKEL_CACHE_KEY.$thema_id)); // Wenn der Cache leer ist, Daten aus der Datenbank holen if(empty($ret)){ $ret = DBManager::get()->query("SELECT ...")->fetchAll(PDO::FETCH_COLUMN); // Daten in den Cache schreiben $cache->write(self::ARTIKEL_CACHE_KEY.$thema_id, serialize($ret)); } return $ret; }
(:rater entwickler-cache head="!!!!Wie hilfreich war diese Hilfeseite?" :) (:Ratingentwickler-cache: 100:)
Source: Basis-Wiki-Hilfe | Last change: April 01, 2011, at 11:43 PM, tthelen | Local view: Basis-Hilfe