Hallo,
ich habe folgenden Codeschnippsel:
//Query-Cache
protected static $queryCache = array();
[...]
protected function cacheQuery($query, $fetchmode)
{
$key = md5($query . $fetchmode);
if(!array_key_exists($key, Dao::$queryCache))
{
Dao::$queryCache[$key] = new RecordSet($this->dbObj->Execute($query));
}
return Dao::$queryCache[$key];
}
[...]
Folgendes soll passieren: Ich prüfe ab, ob die Query mit dem MD5-Hash bereits existiert und gebe entsprechend den entweder zuvor angelegten Datensatz zurück oder den neu angelegten.
Wenn ein neuer Datensatz angelegt wird und dann das Element zurückgegeben wird, funktioniert es. Soll aber ein Datensatz aus dem Cache geliefert werden, läuft es schief, die Daten kommen scheinbar nicht dort an wo sie hinsollen, sind aber im Cache vorhanden!
Wo liegt da mein Denkfehler?
Gruß,
Jens