DB read write kurz hintereinander problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DB read write kurz hintereinander problem

    Folgendes Problem:

    1. Ich lese Daten aus einer mySQL DB und baue damit eine dynamische Tabelle (Ajax).

    2. Ein Eintrag kommt in die Tabelle hinzu und wird in der Datenbank gespeichert.

    3. Ich lese sofort nach dem einfügen die kompletten Daten der DB neu aus um mit der Funktion aus 1. wieder dynamisch meine Tabelle zu erstellen. Natürlich bereits MIT dem neuen Eintrag, da dieser ja in der DB bereits vorhanden ist.

    Mein Problem ist nun, dass ich - obwohl ich weiss, dass der Datensatz korrekt eingefügt wurde - ich ihn mit der datenbankabfrage nicht finde.
    Es ist so, als ob die Abfrage im Cache landet und bei derselben Abfrage erneut aus dem Cache und nicht aus der Datenbank gelesen wird.

    Ich bekomme, obwohl ich Daten in die DB Eintrage immer nur den result der ersten Abfrage zurück geliefert, obwohl die Datenmenge im Laufe der Zeit immer größer werden müsste.

    Gibt es einen solchen Cache und wenn ja, wie kann ich ihn umgehen, dass die DB Abfrage tatsächlich immer ausgeführt wird?

    Im Moment schliesse ich die DB Connection nach der abfrage und mache eine neue auf, wenn ich neu Abfragen möchte, aber das Ergebnis sind dann trotzdem nicht die aktuellen, sondern noch die Altdaten....

    Gibts da einen PHP Befehl für die DB Abfrage komplett neu zu machen?

    PS: Ach ja, wichtige Info: Wenn ich das Browserfenster schliesse, neu öffne und die Abfrage dadurch neu durchführe, dann bekomme ich alle Daten aus der DB mitgeliefert, was sehr auf eine art "Cache" schliessen lässt.

  • #2
    Auf den ersten Blick sieht das nicht nach einem Cachen von PHP aus, sondern von Seiten des Browsers. Überprüf das mal.

    *move* nach HTML...

    Kommentar


    • #3
      Hast du das ganze irgendwie Online?
      Weil ist recht schlecht jetzt eine allgemin gültige Aussage treffen zu können..

      mfg

      Kommentar


      • #4
        Neee, im Moment habe ich das nur Local, weil das für die Arbeit ist und erst im Büro im Laufe der Woche auf den Webserver kommt...

        Leider hab ich am Dienstag ein Meeting und da hat das zu Laufen :-(

        Kommentar


        • #5
          Neee, im Moment habe ich das nur Local, weil das für die Arbeit ist und erst im Büro im Laufe der Woche auf den Webserver kommt...

          Leider hab ich am Dienstag ein Meeting und da hat das zu Laufen :-(

          Ein php Cache ist es wohl nicht, aber möglicherweise ein Query Cache im mySQL, sowas scheint es zu geben. Ich finde leider nicht, wo und wie man sowas abstellen kann...auch beim Browsercache bin ich mit abstellen im Moment überfragt.

          Kommentar


          • #6
            Re: DB read write kurz hintereinander problem

            Original geschrieben von jensman

            PS: Ach ja, wichtige Info: Wenn ich das Browserfenster schliesse, neu öffne und die Abfrage dadurch neu durchführe, dann bekomme ich alle Daten aus der DB mitgeliefert, was sehr auf eine art "Cache" schliessen lässt.
            Das sieht absolut nach Browser-Cache-Problem aus. Probiere mal so: Du hängst einfach irgendeinen sich dauernd ändernden Parameter an deinem AJAX-Request. Ist das Problem nun behoben?

            Andererseits ist dein Vorgehensweise etwas ungewöhnlich. Ich würde anders machen, und zwar ich mache den DB-Insert per AJAX, aber die Daten auf der Clientseite die füge ich per Javascript hinzu, denn die hast sie doch schon clientseitig, wozu denn nochmals von der DB nach dem Insert abrufen?
            Zuletzt geändert von asp2php; 18.05.2008, 10:46.

            Kommentar


            • #7
              Query Cache im mySQL hat damit nichts zu tun. Poste mal den Code deines PHP Scriptes.
              Download ET-Chat v3.x.x

              Kommentar


              • #8
                PHP-Code:
                header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); 
                Versuche das an den Scriptanfang zu setzen.
                Download ET-Chat v3.x.x

                Kommentar


                • #9
                  Re: Re: DB read write kurz hintereinander problem

                  Original geschrieben von asp2php
                  Das sieht absolut nach Browser-Cache-Problem aus. Probiere mal so: Du hängst einfach irgendeinen sich dauernd ändernden Parameter an deinem AJAX-Request. Ist das Problem nun behoben?
                  Genau darauf wollte ich ja hinaus, allerdings bringt die Methode nicht immer was, deshalb wollt ich mal gucken, was Firebug dazu sagt und wie die Requets aussehen ..^^

                  mfg

                  Kommentar


                  • #10
                    Original geschrieben von E.T.
                    PHP-Code:
                    header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); 
                    Versuche das an den Scriptanfang zu setzen.
                    Werde ich nachher mal testen,wenn mein Script denn wieder läuft. Bin grad am weiterproggen.

                    zum Rest: Ich lese die Daten aus der Db gleich wieder aus, damit ich auch garantiert aktuelle Daten habe. wenn ich das nur clientseitig nachziehe habe ich dann auch nur die ändernugen die Clientseitig passiert sind, aber evtl tummelt sich ja auch noch jemand anders auf der DB...beim auslesen der Daten aus der Db hätte man dann immer die die aktuellen Datensätze und wäre in jedem Fall synchron. geschwindigkeitsmäßig ist es bei der Datenmenge und Anzahl der Abfragen auch kein Problem.

                    Danke für die Hilfe, ich weiss das zu schätzen!

                    Kommentar


                    • #11
                      Jungs, ihr seit der Knaller :-)
                      Das mit dem Header und dem Browser Cache war`s.

                      Thx a lot. Ich wäre alleine NIE drauf gekommen.

                      Kommentar

                      Lädt...
                      X