Daily, Weekly and Monthly Page View Counter
Posted
by Jens Fahnenbruck
on Stack Overflow
See other posts from Stack Overflow
or by Jens Fahnenbruck
Published on 2010-04-08T16:22:29Z
Indexed on
2010/04/08
16:43 UTC
Read the original article
Hit count: 393
I'm building a website with user generated content. On the home page I want to show a list of all created items, and I want to be able to sort them by a view counter. That's sound easy, but I want multiple counters. I want to know which was the most visited item in the last day, last week or last months or overall.
My first Idea was to create 4 counter columns in the item's DB-Table. One for each of daily, weekly, monthly and overall, and the create a cron job, that clears the daily counter every 24 hours, the weekly counter every 7 days and so on.
But my problem with this is, what happens if I want to know which was the most viewed item of the week, just after the weekly counter got cleared?
What I need is an efficient way to create a continous counter, which got reduced for every page view that is too old, and increased for every new page view.
Right now I'm thinking of a solution with the redis server, but I have no solution yet.
I'm just looking for a general idea here, but FYI I'm developing this application in Ruby on Rails.
© Stack Overflow or respective owner