Muster für das clearing von Zend Cache

Begann ich mit Zend Cache (APC back-End) und alles ist gut in Bezug auf die Rückkehr zwischengespeicherten Werte drücken Sie anstelle des Schlagens jedes mal die Datenbank. Jedoch hier mein problem:

$cache_key = 'getrebates_'.$operator_code;

if(PP_Model_CacheService::exists($cache_key)) {
    $cached_values = PP_Model_CacheService::load($cache_key);
} else {
   //hits the db    
   $cached_values = $this->getAll($operator_code);
   PP_Model_CacheService::save($cached_values, $cache_key);
}
return $cached_values;

Jeder Betreiber hat seine eigene Rabatte, die variieren zwischen den Betreibern, wenn ich nun die Datenbank ändern und löschen müssen Sie die Vergütung für alle Betreiber, wie kann ich dies tun?

Kann ich verwenden $Cache->clean(), aber wird klar, dass die anderen caches (nicht nur auf den Rabatt-cache für jeden Betreiber). Wenn ich eine Schleife durch alle Betreiber:

foreach($operator_codes AS $operator_code) {
   $cache_key = 'getrebates_'.$operator_code;
   $cache->delete($cache_key)
}

Scheint wie eine Menge Arbeit für den cache. Gibt es eine Möglichkeit, klar, nur ein Abschnitt der Cache.

//Something like:
$section_key = 'getrebates';
$Cache[$section_key][$operator_code];
$Cache->clearSection($section_key);

Ist es keine array-Struktur, um die APC-cache oder ist es alle cache-key/value based?

InformationsquelleAutor marko.vujo | 2011-04-28
Schreibe einen Kommentar