Cache automatisch leeren?

  • Hallo,


    ich habe ein kleines problem mit dem Cache. Vor einigen Tagen ahtte ich hier im forum gepostet, dass die Datei convertecb.php auf eine XML-Datei der EZB zeigt und sich daher den aktuellen Währungskurs holt. Nachdem die Kurse sich bei mir aber nicht änderten, empfahl man mir, den Cache zu leeren. Siehe da, es klappte.


    Allerdings kann es nicht angehen, dass ich jeden morgen den Cache leeren muss. Gibt es da irgendwo einen Automatismus den ich übersehen habe? Ich habe im joomla das Caching ausgeschaltet und auch das System-plugin Cache deaktiviert. Trotzdem taucht bei mir unter Wartung -> Cache leeren immer die convertecb.php auf. Dadurch aktualisiert sich der aktuelle Währungskurs nicht - der Shop ist Standardmäßig auf Euro.


    Was mache ich falsch?

  • Ich kenne und nutze das Währungs Modul nicht.


    Solltest du im Modul keine Einstellungsmöglichkeiten haben könnte diese Komponente vielleicht dein Problem lösen.


    Das deutsche Virtuemart Forum - Online-Shop Software für alle - Erweiterte Cache Funktion für Joomla mit JOtCache


    JotCache ist eine erweiterte Lösung für Cache-Funktionen in Joomla und kompatibel mit Joomla 1.5, 2.5 sowie 3.0. Die Erweiterung besteht aus einem Plugin sowie einer Komponente und ist kostenlos erhältlich.


    Das JotCache Plugin ersetzt das Standard-System-Cache und bietet weitere Funktionen.


    Besonders hervorzuheben ist die Möglichkeit, dass bestimmte Module, Plugins oder Seiten von den Cache-Funktionen ausgeschlossen werden können. So können in Virtuemart beispielsweise das Cart Module sowie die VM Seiten vom Cache ausgeschlossen werden.


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    4 Mal editiert, zuletzt von Jamel ()

  • Hallo Jamel,,


    ich habe mir dies Komponente mal heruntergeladen und installiert - danke dir für den Link. Das Problem ist aber nicht behoben. Im Gegenteil. Wenn ich nun meinen Shop aufrufe funktiniert der erste Link. Sobald ich ein zweites Mal auf die selbe Sektion komme, ist das Design völlig verrutscht und in der Tableiste steht vor dem Seitentitel ein "@@@".


    Die Datei convertECB.php taucht dort auch auf. Das Plugin System-Cache ist deaktiviert. Caching auf der Config-Seite von Jommla auf AUS. Trotzdem taucht diese Datei sowie die gesamte Page im Cache auf. Die Jot-Cache-Komponente habe ich wieder deinstalliert, weil diese offensichtlich auch nicht funktioniert.


    Die Frage ist nun, warum arbeitet Joomla überhaupt mit einem Cache. Der ist doch eigentlich völlig überflüssig, oder nicht? Wenn man dynamische Websites erstellt, dann ist es ja geradezu erforderlich, dass keine gechachten Dateien auftauchen sondern immer wieder die aktuelle Version geladen wird.

  • Alle Caches abschalten ! Wenn dann geht das mit der JoT Erweiterung, aber das ist tricky. Verbesserung der Art kommen vermutlich anfang nächsten Jahres. Denn da müssen wir ganz tief runter in die Trickkiste und dann machen wir das wenn schon auf server level. Das heisst man deklariert bei apache was gecached werden darf und was nicht, oder über mehr ajax. So Dinge. Ist aber auch nicht nötig eigentlich.
    Die Datei allerdings wird immer gecached, denn die muss ja alle 24 stunden neugeladen werden (also die Wechselkurse), und da nutzen wir den joomla cache, egal ob der an oder aus ist.

  • Aber genau da liegt doch das Problem. Die Datei convertECB.php ist die einzige Datei die überhaupt gechached wird obwohl der Cache abgeschaltet ist. Und genau deswegen aktualisiert sich diese Datei auch nicht. Erst wenn ich den Cache leere bekomme ich die aktuellen Wechselkurse. Ich kann doch nicht einmal am Tag den Cache leeren.

  • Hm. Also ich kenn mich mit PHP aus - zumindestens ein wenig - aber eine Datei die von selbst geupdated wird kenn ich nicht. Das was du meinst ist die XML-Datei auf dem Server von der EZB. Diese Datei wird von der convertECB.php abgefragt. Allerdings versteh ich immer noch nicht, warum es überhaupt nen Cache gibt. Denn so lange sich die convertECB.php im Cache befindet, wird sie nicht die XML-Datei abfragen sondern die Werte nehmen die sie vorher mit in den Cache genommen hat.

  • Ehrm, nein.


    Also erstens wird ein Cache normalerweise selbstständig upgedated. Du bist nur so ungeduldig (wie wir alle). Daher gehste auf Cache leeren, aber du könntest auch an bissal warten. Die Zeit stellst du übrigens in joomla selbst ein.


    und static function getSetExchangeRates($ecb_filename) ruft $archivefile_name = $store_path.'/daily.xml'; auf


    Klar die Datei wird jeden Aufruf eingelesen.

  • Gerade eben wurde die Datei eurofxref-daily.xml bei der EZB aktualisiert und wir haben einen neuen Dollarkurs (Der Shop steht standardmäßig auf Euro und mit dem Currencie Selector kann man den Euro in Dollar umrechnen lassen). Beim Aufrufen des Shops wurde aber der alte Dollarkurs angezeigt. Erst als ich die Datei convertECB.php aus dem Cache gelöscht habe und den Shop mit F5 neu geladen hatte, wurde der neue Dollarkurs angezeigt.


    Es ist so:


    Gecached wird die convertECB.php. Diese Datei liest die eurofxref-daily.xml von der EZB ein. Allerdings erst dann, wenn sie aus dem Cache genommen wird. Das heißt im Umkehrschluss: Ich darf einmal täglich die Datei manuell aus dem Cache löschen?!?!?!? Was soll dieser Cache an der Stelle? In der Konfiguration ist der Cache auf AUS und im Virtuemart auch.


    Kennt irgendwer eine Möglichkeit?

  • Der Cash wird automatisch alle 12 Stunden geleert.


    Wir nutzen


    Wir missbrauchen den Cache nur. Die Laufzeit ist 6 Stunden.

  • So, da bin ich wieder. Also irgendwie ist das mit dem Cache absolut schlecht gelöst. Beispiel: Der aktuelle Dollarkurs stand vor 4 Tagen bei 1,30286 Euro, so sagt es zumindest die URL http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml, die von der convertECB.php eingelesen wird. Das heißt, dass beim Währungsumrechner bei einem Produkt das 10 Euro kostet, 13,03 $ fällig werden. Heute steht der Dollarkurs aber bei 1,2959 Euro. Das 10-Euro-Produkt dürfte also nur noch 12,96 $ wert sein. Der Shop zeigt aber trotzdem 13,03 $ an.


    Erst nachdem ich die convertECB.php aus dem Cache gelöscht habe und den abgelaufenen Cache gelöscht habe, wird der neue Preis angezeigt. Und das bei Einstellungen, dass kein Cache benutzt werden soll. Trotzdem steht diese convertECB.php IMMER WIEDER im Cache. Ich werde hier wahnsinnig. Was soll das und wer programmiert das so?


    Die Laufzeit in der ConvertECB.php ist auf 2 Stunden eingestellt. SElbst wenn ich sie auf 0 stelle, erscheint die Datei im Cache.


    Wenn ich in den Systemeinstellungen die Option Cache = AUS benutze, so erwarte ich eigentlich, dass dieser auch nicht benutzt wird. Was gibt es da für Lösungen? Ich kann doch nicht jeden morgen erst den Cache leeren, das kann doch nicht im Sinne des Erfinders sein.

  • Schau mal hier: CacheControl - Joomla! Extensions Directory


    Vielleicht hilf das ja :confused:


    CacheControl is an easy to use plugin where you can define on what pages caching should be turned off. This can help if you are using extensions that have trouble with caching.


    The definitions are straight forward and simple. You just setup the url parameters for each rule and if they match, caching will be turned off for any page that is called with these parameters.


    For detailed instructions please install the plugin and have a look at the available options.


    oder hier: Cache Cleaner - NoNumber - Joomla! Extensions


    With Cache Cleaner you can clean your cache fast and easily via a link in your Joomla! Administrator.


    Not only that, it also gives you the possibility to purge expired cache, do a global check-in, empty the temp folder, empty user-defined folders and database tables … all with just 1 click!


    Cache Cleaner can clean your cache automatically when you save an article or other item. And it can clean your cache at preset intervals too.
    So no more clickety-click to get to the core Joomla! Cache Manager and no more manually deleting files.


    For more information see the User Guide.


    Gruss Jamel

    I`m not a perfect person. I make a lot of mistakes....
    :o But still, I love those people who stay with me after knowing how I really am. :o


    Problem gelöst? Dann bitte auch die Lösung posten und Beitrag auf [gelöst] setzen.


    Im aufgerufenen Thema siehst Du oben den Satz "Dieses Thema als [GELÖST] markieren.
    Nach Anklicken wird das Thema auf gelöst gesetzt und der Satz verschwindet.

    2 Mal editiert, zuletzt von Jamel ()