/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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.



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste