[PHP/SQL/AJAX] Caching

Gestart doorMiel25 reacties85 weergaven

26 berichten · pagina 2 van 2

Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja oké.. Maar wat als er echt extreem veel berichten zijn? dan worden sommige berichten dus niet weergeven?yummie
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Hoezo?

Als je de browser elke seconde dat bestandje aanroept.. In dat bestandje staan alle berichten van de afgelopen 5 seconden; je browser pikt de berichten van de laatste seconde eruit en je hebt nog 4 seconden over als buffer.
Als het extreem veel berichten zijn dan moet je er eens over denken of het wel zo nuttig is om elke seconde alle nieuwe berichten op te halen.
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja het is nuttig.. En als ik er zo over na denk, klopt het inderdaad wel wat je zegt. Moet met een bestand kunnen.. Eens kijken dan.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
smile
En dan geen verkapte cronjob bouwen die elke seconde een nieuw bestand opbouwt, maar kijken of er die seconde (of de afgelopen 2 seconden, das beter denk) al een bestand is opgebouwd; zo ja: die gebruiken; zo nee: nieuwe maken en die gebruiken.

Wel ook zorgen dat je eerst een nieuwe maakt en hem daarna pas renamet, anders krijg je dat mensen halve bestanden voorgeschoteld krijgen. shiny
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jaa, daar snap ik weer geen zak van.pompomHeb je een voorbeeldje?yummie
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Nja daar moet je wat mee prutsen en kijken wat het beste werkt.

Ik denk dat kijken naar de gemaakt-op-datum en dan vergelijken met de huidige timestamp t handigst werkt. emo
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb bij elke AJAX call de timestamp daarvan.. Die geef ik mee..
Dus ik vat hem niet helemaal..Zou je echt niet een voorbeeldje kunnen geven.. Globale code.. Dus niet echt de code zeg maar.emo Heel erg bedankt alvast!
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Zoiets?
[COLOR= #0000BB]<?php
$file[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]cache.ch[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$tmpfile[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]cache_temp.ch[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/filemtime"]filemtime[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]) <[/COLOR] [URL="http://www.php.net/time"]time[/URL][COLOR= #007700]() -[/COLOR] [COLOR= #0000BB]2[/COLOR] [COLOR= #007700]&& ![/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpfile[/COLOR][COLOR= #007700]))
{[/COLOR]
    
    [COLOR= #0000BB]$fp[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/fopen"]fopen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpfile[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]w[/COLOR][COLOR= #007700]);[/COLOR]
    
    [COLOR= #0000BB]$shit[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]inhoud van t bestand[/COLOR][COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$fp[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$shit[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/fclose"]fclose[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$fp[/COLOR][COLOR= #007700]);[/COLOR]
    
    [URL="http://www.php.net/unlink"]unlink[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/rename"]rename[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpfile[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$file[/COLOR][COLOR= #007700]);[/COLOR]
    
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$shit[/COLOR][COLOR= #007700];
    
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
    
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]))[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/file_get_contents"]file_get_contents[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpfile[/COLOR][COLOR= #007700]))[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/file_get_contents"]file_get_contents[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpfile[/COLOR][COLOR= #007700]);
    
}[/COLOR]


Dan zit je er alleen wel mee dat hij soms 2 bestanden tegelijk aanmaakt, maar dat moet je maar ff beetje testen enzo.
Als t om die reden niet werkt dan moet je $tmpfile random maken en bij de else kijken welke bestandjes er in de cache-map staan.
Van die bestandjes pluk je de meest recente en die gebruik je. smile
En je zit nog met de hits tussen de unlink en de rename, dus dat moet je ook nog ergens opvangen als dat problemen geeft (maar dan moet je wel onwijs veel hits per seconde hebben).
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dankje, moet ik maar ff gaan bestuderen dan. In ieder geval bedankt. Ik kom er nog op terug..yummie
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Ok, succes. pompom
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wat heeft die temp file voor nut eigenlijk?yummie
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren