Thread Suche Architektur zum sparen von Rechnerleistung (2 answers)
Opened by Froschpopo at 2007-11-07 23:11

Froschpopo
 2007-11-07 23:11
#102008 #102008
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich habe ein etwas größeres Programm das oft auf mySQL zugreifen muss.
Ich möchte nicht in jeder Funktion ein eigenes Statement ausführen das ich häufiger benötige. Deshalb arbeite ich häufig verwendete Anfragen in einer zentralen Funktion ab und schleppe dann die Referenz immer hinter mir her durch die einzelnen Funktionen.
Das sieht dann also so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub basics {
my $funktion = shift; # funktionsreferenz auf &beispielfunktion
my %params = (.. alles was ich öfters benötige wie zB Objektreferenzen, $dbh, Treiberkonfiguration usw)
$funktion->(\%params);
}

sub beispielfunktion {
my $args = shift;
print "hallo ",$args->{'username'};
print "du bist ",$args->{'DBH'}->selectrow_array("SELECT username FROM users WHERE id = '$args->{id}'");

&weiter_gehts($args);
}


Nun habe ich eine andere Idee: Ich möchte häufig verwendete Daten wie z.B.
$dbh, Referenzen, Username (ermittelt aus einer mySQl Abfrage), usw. in einem Modul "cachen", sodass ich diese nicht ständig mit mir rumschleppen muss.
Ich stelle mir das dann so vor, dass ich z.b. mit MyProgram::refs() auf meine ganzen Referenzen zugreifen kann.

Ist sowas üblich und wenn ja, wie schaffe ich es, dass die Daten im Modul erhalten bleiben?

View full thread Suche Architektur zum sparen von Rechnerleistung