Simple Base is an open source CMS. You Simple Base? Support the Team with a coffee.



Caching in Simple Base

Vor kurzem wurde eine Caching-Funktion in Simple Base eingebaut. Das Cachen erfolgt in Dateien auf dem Server unter dem Ordner {Stammverzeichnis}/cache/sb

 

Die Cache-Klasse hat folgende Methoden:

 

 public static function Get($key, $delegateFunction = null)
{}

public static function Set($key, $value, $durationTime = 3600)
{}

public static function Clear($key)
{}

public static function ClearAll()
{}

Was genau welche Methode macht, ist wohl selbsterklärend:

Die Get-Methode: Mit einem eindeutigen Key kann man sich die Werte aus dem Cache holen. Über den zusätzlichen Parameter $delegateFunction kann man eine function mit angeben, die ausgeführt werden soll, wenn es noch kein Cache-Objekt mit diesem Key gibt. Wenn der Cache nicht mehr "gültig" ist ($durationTime aus der Set-Methode), wird automatisch die $delegateFunction ausgeführt bzw. null zurückgegeben.

Die Set-Methode: Damit kann man den Cache "setzen". Dazu den eindeutigen Key übergeben und den Wert, der gecached werden soll. Zusätzlich kann man "cachingzeit" angeben. Also sprich, wie lange der cache gültig ist und wann muss er neu "geholt" werden.

Die Clear-Methode: Löscht den Cache anhand eines eindeutigen Keys.

Die ClearAll-Methode: Sie sollte mit bedacht ausgeführt werden, denn diese löscht alle Dateien im {Stammverzeichnis}/cache/sb Ordner.

 

Hier ein kleines Beispiel, wie man den Cache auslesen + setzen kann, wenn dieser nicht vorhanden ist:

 

$cacheKey = "MyCacheIdentifier";

$cache = Cache::Get($cacheKey, function($args)
		{
			$valueToCache = "MyCacheValue";
			Cache::Set($cacheKey, $valueToCache);
			return $valueToCache;
		});
		
//Value of $cache: "MyCacheValue"

 



Kommentare

 

 




Groß- und Kleinschreibung wird nicht beachtet!