|
| globale vars på tværs af sessioner? Fra : Jørgen Østergaard |
Dato : 06-03-04 18:08 |
|
Hej,
jeg har brug for at lave globale variable på tværs af sessioner aht.
performance -nogen der kender til en brugbar/gængs metode?
vh. Jørgen
| |
Michael Zedeler (06-03-2004)
| Kommentar Fra : Michael Zedeler |
Dato : 06-03-04 20:41 |
|
Jørgen Østergaard wrote:
> jeg har brug for at lave globale variable på tværs af sessioner aht.
> performance -nogen der kender til en brugbar/gængs metode?
Det findes som sådan ikke. Hvad mener du med "på tværs af sessioner"?
Normal gemmer man jo f. eks. data i en database...?
M.
| |
Jørgen Østergaard (07-03-2004)
| Kommentar Fra : Jørgen Østergaard |
Dato : 07-03-04 10:39 |
|
Hej Michael,
Michael Zedeler wrote:
> Jørgen Østergaard wrote:
>
>> jeg har brug for at lave globale variable på tværs af sessioner aht.
>> performance -nogen der kender til en brugbar/gængs metode?
>
> Det findes som sådan ikke. Hvad mener du med "på tværs af sessioner"?
> Normal gemmer man jo f. eks. data i en database...?
Ja, jeg har dem også i en database, men jeg vil undgå at æse i denne for
hver session der starter op, og herunder adskillige gange i sessionen, og
istedet bruge sessions-uafhængige variable.
Det kan være at den eneste måde at gøre dette på i PHP er at danne en fil
med variabel-assignments, og så inkludere denne, men det virker som om det
er "husmandsløsningen". Alternativt kunne jeg cache læsningerne i sessionen,
så variablene kun læses fra databasen første gang de bruges, og herefter
hentes fra et array (cache).
Jeg er ikke stødt på noget der kan give mig den funktionalitet i PHP, men på
den anden side er jeg heller ikke hardcore PHP'er, så der kan være noget jeg
har overset.
Hvad gør du/i?
vh. Jørgen
| |
Michael Zedeler (07-03-2004)
| Kommentar Fra : Michael Zedeler |
Dato : 07-03-04 15:34 |
|
Jørgen Østergaard wrote:
> Michael Zedeler wrote:
>
>>Jørgen Østergaard wrote:
>>
>>>jeg har brug for at lave globale variable på tværs af sessioner aht.
>>>performance -nogen der kender til en brugbar/gængs metode?
>>
>>Det findes som sådan ikke. Hvad mener du med "på tværs af sessioner"?
>>Normal gemmer man jo f. eks. data i en database...?
>
> Ja, jeg har dem også i en database, men jeg vil undgå at æse i denne for
> hver session der starter op, og herunder adskillige gange i sessionen, og
> istedet bruge sessions-uafhængige variable.
Du bliver nødt til at være lidt mere specifik - mener du
applikationsvariable a'la dem man kan få i ASP?
> Det kan være at den eneste måde at gøre dette på i PHP er at danne en fil
> med variabel-assignments, og så inkludere denne, men det virker som om det
> er "husmandsløsningen". Alternativt kunne jeg cache læsningerne i sessionen,
> så variablene kun læses fra databasen første gang de bruges, og herefter
> hentes fra et array (cache).
>
> Jeg er ikke stødt på noget der kan give mig den funktionalitet i PHP, men på
> den anden side er jeg heller ikke hardcore PHP'er, så der kan være noget jeg
> har overset.
Jeg er heller ikke bekendt med den type funktionalitet i php, men på den
anden side er jeg ikke så erfaren at jeg kan udelukke at det findes.
Noget andet er, at det på mange måde kan blive en rigtig dårlig løsning
at gemme data på den måde. Det er i mange situationer langt det bedste
blot at gemme brugerspecifikke data i en database og så hente dem frem
når brugeren identificeres. Eventuelt kan man cache dem på forskellige
måder hvis det tager lang tid at hente dem fra databasen.
> Hvad gør du/i?
Når det gælder brugerspecifikke data, gemmes disse altid et eller andet
sted i databasen. I nogle situationer cacher jeg read-only data i en
enkelt række pr. bruger i en tabel som så kan hentes frem hurtigt.
Hvis du påtænker at gemme brugerspecifikke data et fælles sted i en
slags applikationsvariable, så check lige hvordan de bliver lagret. Hvis
de f. eks. bliver anbragt i hukommelsen, kan du risikere at det belaster
webserveren så meget at den performer dårligt. Dertil kommer at du
sandsynligvis kun kan cache dem, da de elelrs går tabt hvis man
genstarter webserveren. Derfor skal de også ligge i en tabel et eller
andet sted.
Så afhængigt af hvad du egentlig skal bruge det til, er det en mere
eller mindre god idé. I nogle situationer er det en helt utroligt dårlig
idé.
Mvh. Michael.
| |
|
|