phpbar.de logo

Mailinglisten-Archive

[php] Frage zu PEAR::Cache

[php] Frage zu PEAR::Cache

Markus Wolff php_(at)_phpcenter.de
Thu, 7 Mar 2002 23:40:27 +0100 (CET)


Moin allerseits,

ich beschäftige mich gerade erstmals mit dem Userland Cache aus PEAR
und stehe da noch vor einem Problemchen. Bisher bin ich hauptsächlich
dem Tutorial von Sebastian Bergmann gefolgt
(http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialID=19).

Mein Testcode für den Cache sieht dementsprechend so aus:

--[SCHNIPPEL]--
$cache = new Cache("file", array("cache_dir" => "cachedata/"));
$id    = $cache->generateID("test");
if ($data = $cache->get($id)) {
    $flag = "HIT";
} else {
    $data = "And what´s with all the carrots? What do they
             need such good eyesight for anyway?";
    $cache->save($id, $data);
    $flag = "MISS";
}
print "$data\n<br>";
print "<p><b>Dies war ein <i>$flag<i>.</b></p>";
--[/SCHNIPPEL]--

Soweit funktioniert das auch: Der Erstaufruf bringt ein MISS, alle
Folgeaufrufe fördern einen HIT zu Tage.

Dummerweise ist genau das das Problem: ALLE Folgeaufrufe gelten fortan
als Hit, auch noch einen Tag später. Das gilt ebenso, wenn ich die
Ausgabe im PHP-Skript ändere (wie man an dem gegenüber dem Original-
Tutorial geänderten Spruch sehen kann).

Da ich nirgens eine Doku zu entsprechenden Verfallseinstellungen
finden konnte, habe ich im Source gewühlt und die Garbage Collection
entdeckt.

Daraufhin versuchte ich unmittelbar nach der Erzeugung der
Objektinstanz folgendes:

$cache->gc_probability = 90;
$cache->gc_maxlifetime = 50;
$cache->gc_time        =  1;

...wobei ich übrigens die exakte Funktion von gc_time bisher noch
nicht ganz verstanden habe.

Kurzum: No effect. Geht nicht. Ist nicht. Will nicht.

Ich kriege immer wieder den ursprünglich gecacheten Content vom ersten
Aufruf, egal was ich mache... solange, bis ich den kompletten Cache-
Ordner lösche. Und dann geht´s wieder von vorne los.

Das kann´s doch nicht sein??? Gibt´s da eine Lösung?

Gruß,
 Markus

-- 
*21st Media*    | Consulting, Konzeption, Produktion für die Bereiche:
Markus Wolff    | Internet, Intranet, eCommerce, Content Management,
Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming
http://21st.de  | Tel. [+49](0)40/6887949-0, Fax: [+49](0)40/6887949-1


php::bar PHP Wiki   -   Listenarchive