Beste tweakers, momenteel ben ik met een hobby project bezig met het PHP framework Laravel dat ik uiteindelijk wel serieus wil gaan gebruiken. Dit project wordt een website waarop o.a. artikelen geplaatst worden middels het beheersysteem/CMS wat ik erachter aan het bouwen ben. Voor analytische doeleinden zou ik in dat systeem ook graag een duidelijk overzicht hebben met hoe vaak een artikel bekeken wordt. Ik heb met het bijhouden van views nog nooit echt wat gedaan, dus nu vroeg ik mij af wat hier een goede, of zelfs de beste manier voor zou zijn.
Een makkelijke manier lijkt mij om iedere keer wanneer iemand op een artikel komt, simpelweg een increment uit te voeren op de views kolom van het betreffende artikel. Zoals gezegd simpel, maar het nadeel hiervan lijkt me dat wanneer de site druk bezocht wordt dit voor onnodige belasting zorgt op de server. Ook kun je op deze manier constant de pagina refreshen waardoor de increment iedere keer wordt uitgevoerd. Zorgt dit daadwerkelijk voor noemenswaardige extra belasting? Naast de belasting op de server lijkt mij dit overigens niet eens zo'n probleem, want wanneer iemand naar een artikel gaat, en vervolgens naar een ander artikel, maar daarna toch weer terug wil naar het eerste artikel, vind ik dat persoonlijk wel een increment waard. Het throttlen van views via de session wordt ook wat lastiger op deze manier. Is views throttlen via de sessie überhaupt een goede manier, rekening houdens met het voorbeeld hierboven?
Via stackoverflow kwam ik ook nog deze tegen:
Edit: Bron: https://stackoverflow.com...t-page-views-in-php-mysql
Waarmee de kans 1 op de 100 is dat er 100 views bijkomen. Dit lijkt mij niet heel geschikt, maar het idee is wel leuk en bij vele aantallen views misschien nog best bruikbaar. Maar met een beetje pech kan het verre van nauwkeurig zijn wanneer artikelen niet vaak worden bekeken.
Ik lees ook dingen over Memcache, maar ik ben het liefste zo min mogelijk afhankelijk van of een server dergelijke extensies beschikbaar stelt, dus als er andere oplossingen zijn heeft dat de voorkeur.
Ik hoor graag wat jullie hierover te zeggen hebben
.
Een makkelijke manier lijkt mij om iedere keer wanneer iemand op een artikel komt, simpelweg een increment uit te voeren op de views kolom van het betreffende artikel. Zoals gezegd simpel, maar het nadeel hiervan lijkt me dat wanneer de site druk bezocht wordt dit voor onnodige belasting zorgt op de server. Ook kun je op deze manier constant de pagina refreshen waardoor de increment iedere keer wordt uitgevoerd. Zorgt dit daadwerkelijk voor noemenswaardige extra belasting? Naast de belasting op de server lijkt mij dit overigens niet eens zo'n probleem, want wanneer iemand naar een artikel gaat, en vervolgens naar een ander artikel, maar daarna toch weer terug wil naar het eerste artikel, vind ik dat persoonlijk wel een increment waard. Het throttlen van views via de session wordt ook wat lastiger op deze manier. Is views throttlen via de sessie überhaupt een goede manier, rekening houdens met het voorbeeld hierboven?
Via stackoverflow kwam ik ook nog deze tegen:
PHP:
1
2
3
4
5
| $sample_rate = 100; if(mt_rand(1,$sample_rate) == 1) { $query = mysql_query(" UPDATE posts SET views = views + {$sample_rate} WHERE id = '{$id}' "); // execute query, etc } |
Edit: Bron: https://stackoverflow.com...t-page-views-in-php-mysql
Waarmee de kans 1 op de 100 is dat er 100 views bijkomen. Dit lijkt mij niet heel geschikt, maar het idee is wel leuk en bij vele aantallen views misschien nog best bruikbaar. Maar met een beetje pech kan het verre van nauwkeurig zijn wanneer artikelen niet vaak worden bekeken.
Ik lees ook dingen over Memcache, maar ik ben het liefste zo min mogelijk afhankelijk van of een server dergelijke extensies beschikbaar stelt, dus als er andere oplossingen zijn heeft dat de voorkeur.
Ik hoor graag wat jullie hierover te zeggen hebben