[TYPO3-german] Merkwürdiges Verhalten bei DB-Abfragen

Christian Wolff chris at connye.com
Fri Dec 11 21:29:19 CET 2009


Hi Tobias,
ich würde erstmal zum testen ob deine seite wirklich aktuell ist
eine ausgabe des generierungs zeitpunkts machen.

dann kannst du sehen ob die ausgabe tatsächlich aus dem cache kommt oder
aktuell generiert wurde.

wenns nicht der typo3 cache ist könnten es der browsercache sein oder
vieleicht ein proxy. der dazwischen funkt. am ende des seiten links
sorgt eigendlich immer dafür das der aufruf nicht aus dem typo3 cache
kommt. zum testen praktisch. &no_cache=1

gruss chris


Tobias Wolf schrieb:
> Hallo zusammen,
> 
> aktuell habe folgendes Problem:
> 
> Ich habe eine Extension geschrieben welche in mehrere Submodule
> aufgeteilt ist.
> 
> Jetzt ist auf einer Seite die Extension in der Konfiguration zur
> Dateneingabe eingebunden und auf einer zweiten Seite sollen die Daten,
> welche in die DB geschrieben worden sind als Liste ausgegeben werden.
> 
> Es wird also ein Formular angezeigt in welchem Daten eingeben werden
> können. Nachdem die Daten von der Extension verarbeitet und in die DB
> geschrieben worden sind wird eine kurze Bestätigungsseite angezeigt mit
> einem Link zu der Ausgabe-Seite.
> 
> So weit so gut.
> 
> Wenn ich allerdings sofort auf den Link zur Ausgabe-Seite klicke, werden
> mit zwar die Daten aus der DB wie gewünscht angezeigt, allerdings ohne
> den aktuellen Datensatz. Dieser erscheint nach mehrmaligen Seite
> neuladen (am besten per SHIFT-F5).
> 
> Da denkt doch sofort daran, ist ja klar, die Seite wurde mit Sicherheit
> aus dem Cache geholt.
> 
> Nur habe ich den Cache zu Entwicklung per Typoscript ausgeschaltet:
> 
> config {
> no_cache = 1
> }
> 
> Zur Sicherheit habe ich in der Extension den Cache per ext_localconf.php
> ausgeschaltet:
> t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.user_extclass_pi1.php',
> '_pi1', 'list_type', 0);
> 
> Über die Extension developerlog lasse ich mir Logausgaben zeigen, vor
> die Anzahl der gefundenen Reihen der SQL-Abfrage und auch hier wird
> zunächst die neue Zeile nicht mitgezählt.
> 
> Nativ per SQL sehe ich den neuen Datensatz natürlich sofort.
> 
> Die Daten werden per
> 
> $GLOBALS['TYPO3_DB']->exec_INSERTquery()
> 
> in die DB eingefügt.
> 
> Die Abfrage erfolgt mit
> 
> $res = $GLOBALS['TYPO3_DB']->exec_SELECT_queryArray()
> 
> Wisst ihr eventuell noch weitere Gründe, warum auf der Anzeigeseite der
> frisch eingefügt Datensatz nicht erscheint? Werden irgendwie SQL Queries
> gecachet?
> 
> Es ist wohl der eAccelerator 0.9.5.3 installiert, ich habe aber nichts
> gefunden was darauf hindeutet das hier SQL Queries gecached werden, bzw.
> man muss spezielle Methoden benutzen damit SQL Queries gecached werden.
> Aber selbst wenn, da sich das Resultset definitv geändert hat, sollte 
> dieses auch zurückgegeben werden.
> 
> Leider haben mich Google und Co in dieser Sache noch nicht schlauer
> gemacht.
> 
> Vielleicht hat einer von euch noch ne Idee. Ich habe versucht alle
> relevanten Information zu geben, ohne einfach stupide den komplette
> PHP-Code und Typo3-Config reinzukopieren. Bitte sagt Bescheid, wenn euch
> bestimmte Informationen fehlen, ich werde versuchen diese so gut wie
> möglich zu ergänzen.
> 
> Schonmal vielen Dank im Vorraus ...
> 
> Gruß,
> 
> Tobias Wolf




-- 
Christian Wolff // Berlin
http://www.connye.com

some projects:
http://richtermediagroup.com | http://titanic.de |
http://fairplay-homepage.de


More information about the TYPO3-german mailing list