Empfehlungen: Erweiterte Suche

im View ein Element einbauen

Ausgabedaten formatieren und darstellen

im View ein Element einbauen

Beitragvon euromark » Di 8. Jul 2008, 17:57

ich habe herausgefunden, dass beim Einbau eines Elements in einen view oder in ein layout
mittels
$this->renderElement('navi');
oder auch
$this->element('navi', array('cache'=>'+1 hour', 'plugin'=>$userId));
einiges mehr an Datenbankabfragen passiert, als durch das Element und evtl. Cachen wieder gutgemacht werden kann

anstatt 25 hatte ich dann z.b. 31 abfragen
klar, weil er

21 SELECT COUNT(id) AS count FROM `telbuch_cake_sessions` WHERE `id` = '9c1477e1f5fc711bab1bc1f537b4d54d' 1 1 1
22 UPDATE `telbuch_cake_sessions` SET `data` = 'Config|a:4:{s:9:\"userAgent\";s:32:\"0f43a8e10babdf7ef15d6fd2a95f6656\";s:4:\"time\";i:1215547774;s:4:\"rand\";i:27463;s:7:\"timeout\";i:10;}', `expires` = 1215547775 WHERE `id` = '9c1477e1f5fc711bab1bc1f537b4d54d' 1 1
23 DELETE FROM `telbuch_cake_sessions` WHERE `telbuch_cake_sessions`.`expires` < 1215535775 0 0

sowie dutzende weitere Abfragen zwecks Konfiguration etc NOCHMAL abfragen muss, da dies ja nich direkt innerhalb aufgerufen wird, sondern wie eine fremde Seite eingebaut wird mittels "renderElement"
daher bin ich grad am Überlegen, ob ich Elemente ganz weglasse, weil die ja eigentlich immer dieses problem verursachen

gibts denn eine alternative, z.b. für Menüs etc? vielleicht durch eine Component, die dann direkt am Anfang immer ausgeführt wird und dann ihre Daten an den View weiterpushed?
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: im View ein Element einbauen

Beitragvon Flo » Di 8. Jul 2008, 18:03

eine alternative wäre Sessions nicht in der Datenbank zu speichern wenn ich das so sagen darf.
im gegensatz zu PHP und dem Filesystem des Servers ist Mysql dann doch eine sehr unperformante alternative denke ich.

Wohl eher dafür gedacht in einer Umgebung eingesetzt zu werden in der man keine Schreibrechte hat ;)
Flo
 
Beiträge: 85
Registriert: Mi 11. Jun 2008, 20:48
Wohnort: Bielefeld
CakePHP-Version: 1.3
OS: Mac OSX 10.6

Re: im View ein Element einbauen

Beitragvon euromark » Di 8. Jul 2008, 18:06

ich korrigiere, scheinbar tut er das nur, wenn nicht gecached wird - oder noch kein cachefile existiert
trotzdem kann es ja nich sinnvoll sein, bei z.b. 3 elementen dann entsprechen 3*5=15 abfragen statt der eigentlichen 5 zu haben, die
also die session innerhalb eines aufrufs zig mal auslesen und neu beschreiben...

das ist ja dann nicht gerade performant, oder?

in jedem fall sollte man also bei elements den cache aktivieren
ansonsten hat man wirklich dauernd einen extremen mehrzugriff auf die datenbank - je nachdem, was man alles am anfang des Aufrufes automatisch ausführt (Config, Auth, Session u.v.m.)


@Flo
soweit ich weiß, wird überall nur empfohlen gerade IN Datenbanken zu speichern
man hat einen überblick (im gegensatz zu files) und es ist oftmals sicherer
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: im View ein Element einbauen

Beitragvon Flo » Di 8. Jul 2008, 18:54

naja, mehr überblick als mit Files hast du durch die DB auch nicht
serialisierter array bleibt serialisierter array...

und sicherer ist die DB auchnicht...

weil das TMP verzeichnis liegt oberhalb des Webroots, wer das sehen könnte, der könnte auch alles andere sehen und verwenden um an deine Daten zu gelangen ...
Flo
 
Beiträge: 85
Registriert: Mi 11. Jun 2008, 20:48
Wohnort: Bielefeld
CakePHP-Version: 1.3
OS: Mac OSX 10.6

Re: im View ein Element einbauen

Beitragvon frankenmatze » Fr 10. Jul 2009, 16:38

Flo hat geschrieben:eine alternative wäre Sessions nicht in der Datenbank zu speichern wenn ich das so sagen darf.
im gegensatz zu PHP und dem Filesystem des Servers ist Mysql dann doch eine sehr unperformante alternative denke ich.


Dem kann ich aus eigener Erfahrung wiedersprechen für den Fall, dass du irgendwelche Daten aus den Sessions auslesen möchtest.
In dem Fall ist die datenbankgestützte Variante auf jedenfall schneller.
frankenmatze
 
Beiträge: 6
Registriert: Fr 10. Jul 2009, 11:25


Zurück zu Views

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast