Jump to content
php.lv forumi

PHP Cashe


Robis

Recommended Posts

Cik zinu tad nee.. Bet nu kam Tev reaali tas vajadziigs? noraadi web paarluukam lai ielasa no pasha paarluuka cashe un visa lieta dariita..

Edited by MakaTaNaw
Link to comment
Share on other sites

tās netiek atjaunotas, kamēr netiek tīrīts cashe?

Ja ar šo cashe vārdu netiek domāta browsera kešs, bet php skripta ģenerējamā kontenta kešošana uz servera, tad var. Uzliec katra php faila, kurš ģenerē kautkādu kontentu, beigās saģenerētā kontekta piesievošanu kautkādā temp direktorijā un no tā paša php skripta sākuma uzliec pielādi no tā keša, ja tas eksistē un nav expairojies (piem fiksēts laika intervāls). Tad kad vajag, tad pats varēsi patīrīt to kešdirektoriju ja vajag.

 

Bet nu kam Tev reaali tas vajadziigs?
Ātrdarbībai? (tb noslodzes noņemšanai no servera)
Link to comment
Share on other sites

Ātrdarbībai? (tb noslodzes noņemšanai no servera)

 

ā nu jā, tas severim atvieglotu daudz darba.. Bet kā visefektīvāk būtu sakārtot šos failus pie parbaudes[exipred / not expired ] tajā dirā?

 

ieinteresēja šis jautājums :)

Link to comment
Share on other sites

nu ja tev ir datubāzes tad elementāri - uztaisi vēlvienu tabuliņu un reģistrē pēdējās izmaiņas tabulās. un caches apsauc par datumu un laiku.. tad tev atlasē būs vienkāršāk sekot līdzi, kurš kešs ir ekspirējies un kurš nē.

 

vispār šitais topiks man liek padomāt par šāda veida risinājumiem šur tur ;)

Link to comment
Share on other sites

ne jau datus kešot, bet izmaiņas.

piemēram: ID|TABLE|LAST_CHANGED

 

respektīvi, ja tiks pieprasīta lapa, kura izmanto kādu tabulu, kura tiek mesta iekšā iekš last_changed, tad pārbaudam kad ir pēdējie apdeiti veikti un ja apdeitu nav tad izvelkam visu no faila. ja atkal apdeiti ir veikti - visu vienalga sametam failā un velkam ārā :)

 

principā interesanta tēma.

Link to comment
Share on other sites

Sveiki!

Vai ir tāda fiška, ka php var kešot uz serveri lapas un tipa, tās netiek atjaunotas, kamēr netiek tīrīts cashe? Kāda konfigurācija to nosaka un kā to kēšu iztīrīt?

<?php
function uber(){
echo'<h1>blabla<h1>';
}
$timeout=3600; //stunda
if(time()-filemtime('test.txt')<$timeout){
$faa=file_get_contents('test.txt');
echo $faa;
}else{
ob_start();
uber();
$buffer=ob_get_contents();
$fh=fopen('test.txt','w+');
fwrite($fh,$buffer);
fclose($fh);
ob_end_flush();
}
?>

Link to comment
Share on other sites

Nu, jā, Ideja tiešām interesanta :)

Bet ja ir riktīgi dinamiska lapa, ar n-tajiem $_GET parametriem?

 

Varbūt uz Linuxa var saglabāt failu ar tādu dīvainu nosaukumu, bet uz w2k gan nevar ;) Vai arī liksim to getu tabulā, un failu nosauksim $id.html?

 

Tikko saglabāju uz w2k šitādu: act=post&do=reply_post&f=10&t=3330.txt. Bet iekrāmēt serverī pa ftp gan neizdevās, kļūdu dod, "nevar nolasīt".

 

Ha, un tad vēl visādi SID, ja ir, jāgauj nost...

Edited by john.brown
Link to comment
Share on other sites

Es jau teicu - kešošanās datus tabulā nevajag likt. Lieka papildus noslodze.

Saglabā labāk uz cietā diska failā ar nosaukumu md5($query_string), kur tas $query_string ir visi tie GET paramteri. (Protams lapas, kuras saņem POST datus, kešot nevajag)

Link to comment
Share on other sites

Chase direktorijaa izvedojas liels daudzums failu, manaa gadiijumaa apmeeram 30000 un pagaidaam viss straadaa normaali. Vai, piemeeram, vidusmeera serverim ir kaads failu daudzuma limits vienaa direktorijaa, pie kura vinjam nav probleemu aatri atrast vajadziigo failu?

Link to comment
Share on other sites

×
×
  • Create New...