Caching Blöcke ->> 1min ?

Begonnen von Atze, 13 November 2005, 23:24:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Atze

Hallo,
wäre es möglich das man Caching Time bei den Blöcken
auf 1min runterstellen kann??

Momentan sind 5min das kleinste.
Kann ich das selber auch verändern??


Danke Gruß
Fahr mal das Becks hoch!

Andi

Hi :)

das bringt nix, dann schalte das caching ganz ab für den Block.
schön´s Grüssle, Andi

Atze

Jaein,
bei der Onlineliste wäre das ideal für mich.
Also ist ein größerer Akt??

2min wäre auch ok.

Gruß
Fahr mal das Becks hoch!

Andi

Der Onlineblock?

Der wird doch garnicht gecached...
Alle Blöcke, die irgendwelche Userspezifischen Daten auslesen, werden stabdardmässig nicht gecached und das sollte auch so belassen werden.
Steht diese Zeile noch im Block?
$mxblockcache = FALSE;
schön´s Grüssle, Andi

Atze

HI,
ja die steht noch im Block,
hab sie aber auf TRUE gesetzt.

Hab da was umgebaut am Block bzw geteilt.
Die Onlineliste steht jetzt bei mir als alleiniger/seperater Block.
Die PN-Anzeige, Usergästebuch und Buddy sind in einem anderen Block.


Somit ist es mir möglich die Onlineliste zu cachen
und dem genannten Problem, das bei mir auch festgestellt wurde, zu umgehen.

############

Wieso kann man eigentlich "html-Blöcke" nicht cachen??
Sind die schon??

Gruß

Fahr mal das Becks hoch!

Andi

Oh, ok,
dann kann man die Daten natürlich cachen, das macht Sinn ;)
Wegen den HTML Blöcken musst du erst verstehen was der Blockcache eigentlich ist....

Die Datei-Blöcke sind ja normale php-Dateien, die includet werden. Diese Scripte führen dann bei jedem Seitenaufruf mehr oder weniger Datenbankabfragen aus. Das Ergebnis ist ja reines HTML, was dann im Browser angezeigt wird. Diese HTML-Ausgabe wird für die eingestellte Cachezeit direkt in der Blocktabelle, die sowieso bei jedem Seitenaufruf ausgelesen wird, zwischengespeichert. Beim nächsten Seitenaufruf wird der Block dann also nicht includet, sondern der Inhalt kommt zusammen mit den anderen Daten, wie z.B. der Überschrift, direkt aus der Blocktabelle. Man spart also die Datenbankabfragen, die die Blockdatei verursachen würde.
Allerdings für den Preis, dass bei jedem neu zwischenspeichern des Caches, die Blocktabelle beschrieben wird, was normalerweise nicht ist. Deswegen bringt es nicht sehr viel, die Cachezeit so weit runterzusetzen. Die Optimierung durch eingesparten Datenbankabfragen wird durch das dauernde Beschreiben der Blocktabelle wieder zunichte gemacht.

So, wenn du es jetzt immernoch brauchst, muss ich mich erst durch die Systemdateien wühlen, weil das ist ganz schön komplex....
schön´s Grüssle, Andi

Atze

Hi,
danke für die Ausführliche Antwort.
Ich versteh, aber nicht ganz  :D

So dringend ist es mom auch nicht. Solange sich kein User aufregt, lass ich es mal gut sein.
Dachte, vielleicht ist nur ein Handgriff...

Aber zum Thema Cache, da häng ich noch ein wenig...
Wenn ich einen Neuen Block hinzufügen (HTML),
diesen kann man ja nicht cachen, wird der dann bei jedem Aufruf erneut ausgelesen???
Ist das nicht DB-Lastig?? Wenn hier 100 von Zeilen drin sind???

Oder ist das bei dem Egal, weil der cache eh html ausliefert??

Danke Gruß

P.s. @Andy, soll ich dir mal meine zwei "neuen" Blöcke senden?? Kannst ja mal drüberkucken?
Fahr mal das Becks hoch!

Andi

hehee,
die HTML-Blöcke, werden genau wie die gecacheden Blöcke direkt in der Blocktabelle gespeichert und daraus ausgelesen. Nur werden die halt nur einmal gespeichert (im Adminmenü)
Die Menge des Inhaltes ist uninteressant, dem sql-Server sollte es egal, ob er 20 Zeichen aus einem Datenbankfeld rausholt oder 200000...

Jop, die Blöcke kannst gerne mal zusenden...
info@pragmamx.org
schön´s Grüssle, Andi

Andi

Moin :)

ich habe mir die Blöcke jetzt mal angesehen und bin etwas irritiert.

Welchen der beiden Blöcke cachst du, so dass das trennen des Who-Online Blocks einen Geschwindigkeitsvorteil bringt?

Du verwendest den umgebauten Block mit der zusätzlichen männlich/weiblich Anzeige. Diese zusätzliche Anzeige bewirkt, dass die kritische Datenbankabfrage gleich 2x ausgeführt wird. Also dürfte der Block noch bedeutend mehr Last erzeugen als das Original...
# Anzahl weiblicher Mitglieder ermitteln
$weiblich=0;
$qry="select COUNT(uid), MAX(uid) from ${user_prefix}_users where user_sexus=1 and user_stat=1;";
list($weiblich) = sql_fetch_row(sql_query($qry));

# Anzahl männlicher Mitglieder ermitteln
$maenlich=0;
$qry="select COUNT(uid), MAX(uid) from ${user_prefix}_users where user_sexus=2 and user_stat=1;";
list($maenlich) = sql_fetch_row(sql_query($qry));
schön´s Grüssle, Andi

Atze

Hi,
genau diesen Cache ich.
Den Message-Block cache ich nicht.

Wie schon erwähnt, ist sehr leihenhaft von mir gemacht!
Deshalb gibts da bestimmt was zu verbessern  ;)

Gruß
Fahr mal das Becks hoch!

Andi

Aha, dann ist ja alles klar ;)

ZitatWie schon erwähnt, ist sehr leihenhaft von mir gemacht!
Hmmm, aber es ist nichts aussergewöhnliches zu entdecken. scheint mir alles ok zu sein in den Blöcken  :thumbup:
schön´s Grüssle, Andi

Atze

Hi,
ja das freut mich.
Hab aber trotzdem was gefunden:
http://www.partyblick.de/modules.php?name=Guestbook

Tritt nur hier im Gästebuch auf????
Was könnte das sein??

Gruß
Fahr mal das Becks hoch!

Andi

ZitatTritt nur hier im Gästebuch auf?Huh
Was könnte das sein??

öh, was denn?  ???
schön´s Grüssle, Andi

Atze

Ohh,
tritt nur mit Firefox auf. Beim IE ist alles klar.
Folgender Fehler:
ZitatWarning: Undefined variable: thisfile in /home/partyblick.de/atze/dlg/html/blocks/block-message.php on line 161

Warning: Undefined variable: member_online_num in /home/partyblick.de/atze/dlg/html/blocks/block-message.php on line 177

Warning: Undefined variable: thisfile in /home/partyblick.de/atze/dlg/html/blocks/block-message.php on line 247

Gruß

Fahr mal das Becks hoch!

Andi

Ahhh, das siehst du nur als Admin ;)

Hast bisserl zuviel auskommentiert ;)
ziemlich oben, diese Zeile wieder reinnehmen:
$thisfile=basename(__file__);


Und Zeile 177 & 192 auch auskommentieren...
if($member_online_num>0){
}
schön´s Grüssle, Andi

Atze

Korrekt, klappt!  :thumbup: :thumbup:

Danke Gruß
Fahr mal das Becks hoch!