/ 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
Persistente variable... (om de hedder det)
Fra : Thomas Møller


Dato : 11-10-02 07:57

Hej gruppe.

Er det muligt at lave en database klasse, der kan lave en form for cache,
således at man ikke for hvert hit på serveren, skal lave adskillige opslag i
databasen.

Man kunne derefter lave referencer til variable i denne klasse, således at
hvis de opdateres af en session, vil de få indflydelse på resten af de
sessions der benytter klassen.

Håber jeg har formuleret mig nogenlunde klart. Jeg er ret ny i sproget.

På forhånd tak og hav en god fredag,
Thomas Møller



 
 
Martin Seebach (11-10-2002)
Kommentar
Fra : Martin Seebach


Dato : 11-10-02 10:19


"Thomas Møller" <molz@worldonline.dk> wrote in message
news:3da675ff$0$79626$edfadb0f@dspool01.news.tele.dk...
> Hej gruppe.
>
> Er det muligt at lave en database klasse, der kan lave en form for cache,
> således at man ikke for hvert hit på serveren, skal lave adskillige opslag
i
> databasen.

Du kan jo lave en fil med dine variable i, f.eks. cache.inc.php og for hver
hit checkke alderen på filen (filemtime) og hvis den er over f.eks. 5-10-15
min. generere en ny, og så include den.


--
Venlig hilsen
Martin Seebach
- min email adresse virker..



Thomas Møller (11-10-2002)
Kommentar
Fra : Thomas Møller


Dato : 11-10-02 10:42

Problemet er så at det ikke er realtime. Er det ikke muligt at gemme
variable i hukommelsen over flere sessions, uden at lave alt for meget
haxxorkode :)

Fredags øllene kommer nærmere...
-tm

"Martin Seebach" <martin-nospam@g-bach.dk> skrev i en meddelelse
news:3da6978b$0$18557$edfadb0f@dspool01.news.tele.dk...
>
> "Thomas Møller" <molz@worldonline.dk> wrote in message
> news:3da675ff$0$79626$edfadb0f@dspool01.news.tele.dk...
> > Hej gruppe.
> >
> > Er det muligt at lave en database klasse, der kan lave en form for
cache,
> > således at man ikke for hvert hit på serveren, skal lave adskillige
opslag
> i
> > databasen.
>
> Du kan jo lave en fil med dine variable i, f.eks. cache.inc.php og for
hver
> hit checkke alderen på filen (filemtime) og hvis den er over f.eks.
5-10-15
> min. generere en ny, og så include den.
>
>
> --
> Venlig hilsen
> Martin Seebach
> - min email adresse virker..
>
>



Martin Seebach (11-10-2002)
Kommentar
Fra : Martin Seebach


Dato : 11-10-02 10:50


"Thomas Møller" <molz@worldonline.dk> wrote in message
news:3da69c9b$0$72245$edfadb0f@dspool01.news.tele.dk...
> Problemet er så at det ikke er realtime. Er det ikke muligt at gemme
> variable i hukommelsen over flere sessions, uden at lave alt for meget
> haxxorkode :)

Jamen jamen..

Hvis altid vil have den seneste værdi af et felt i databasen - så må du
spørge databasen hver gang.

Ellers må du ofre realtime, og sige at optil et antal minutters 'lag' på
feltets værdi er OK.

Alternativt, kan du lade være med at bruge databasen og i stedet lade den
event der ændrer værdien (f.eks. login/out ved en 'antal brugere online'
feature) rette værdien direkte i en fil, og så include denne fil.

Prøv at skrive præcist hvad det er for en opgave du skal have løst, så er
det måske nemmere at få ideer.


--
Venlig hilsen
Martin Seebach
- min email adresse virker..



Lars, Århus C (16-10-2002)
Kommentar
Fra : Lars, Århus C


Dato : 16-10-02 00:23

> Er det muligt at lave en database klasse, der kan lave en form for cache,
> således at man ikke for hvert hit på serveren, skal lave adskillige opslag
i
> databasen.

Hej,
uden at gå i detaljer kan jeg sige at jeg anvender en klasse, som når den
har genereret en side med indhold fra en database cacher siden til en fil.
Det er så denne fil, som vises, når der er et hit. Hvis klienten tillader
det, så gemmes filen lokalt ellers gemmes på serveren med en timeout på 3600
sek. Problemet ved denne type cache er, at siden, som bliver vist måske ikke
indholder det allernyeste, men til gengæld vises den ekstremt hurtigt og
databasen bliver ikke belastet så meget. Man kan jo sætte timeout'en ned,
hvis man har lyst til det :)

/lars



Hans Lund (16-10-2002)
Kommentar
Fra : Hans Lund


Dato : 16-10-02 15:20

Thomas Møller wrote:

>
>Er det muligt at lave en database klasse, der kan lave en form for cache,
>således at man ikke for hvert hit på serveren, skal lave adskillige opslag i
>databasen.
>
>Man kunne derefter lave referencer til variable i denne klasse, således at
>hvis de opdateres af en session, vil de få indflydelse på resten af de
>sessions der benytter klassen.
>
såvidt jeg forstår problemet er det følgende ->
1) du vil sikre at dine objekter altid er up-to-date
2) du vil lave færest mulige database opslag.

du kan bruge følgende strategi->
lav plads i din database til at gemme objekterne i , og et felt til at
håndtere synkronicering.
-> gem dine objekter i en en session, hvor du initiallicere efter
princippet just in time.
-> on request, check om objektet er initialliceret før -> hvis det er
check med et simplet opslag om objektet er i sync med databasen.
-> hvis ikke hent objektet, igen med et simplet opslag til databasen på
til en serrializerede version af objektet der er gemt i basen ( som en
del af update rutinen ).

Alt i alt får du følgende fordele.

-> mulighed for søgning i ikke initalicerende objekter via databasen.
-> ren objekt orienteret tilgang til programmeringen af brugergrænse fladen
-> minimun af opslag på databasen.
-> simuleret delt cache, der altid er up-to-date

men:
databaen voker som følger af redundance
insert, update & delete proceduerene blever en anelse mere komplicerende

--
Hans


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

Månedens bedste
Årets bedste
Sidste års bedste