Делаю небольшой новостной сайт. В нём нет пользователей, как и во многих других новостных ресурсах. Как можно реализовать подсчёт просмотров каждого поста? Может быть гем есть какой-нибудь?
Нужно для вывода на страничку популярных постов.
6
Ответы
(4)
Сортировать по:
-
Я не могу в ruby, но предложу вот что: я предполагаю, что новости у вас хранятся в БД. Так вот: оберните выборку новости в хранимую процедуру, и после чтения апдейтите кол-во просмотров (если у вас нет такого столбца, заведите его).
Так и вывод популярных постов будет реализовываться одним запросом. -
-
На новостном сайте логично новости держать в кеше, например, в cache views или вообще в nginx. Поэтому делать increment счетчика в самом посте неправильно. Я бы сделал на каждой странице с постом вызов фейковой картинки 1x1 пиксель, который передает на сервер id поста, например, так:
<img src='/counter?post_id=1234' />
Такой вызов будет создавать запись CounterHit с post_id и возможно дополнительной инфой о пользователе. Далее эти данные уже можно агрегировать как вам удобно: делать статистику по часам, по дням, "за последние 15 минут" и тд.2 нравится -
Написать ответ
Войдите, чтобы написать ответ
Войти через TM IDПохожие вопросы
Для вычислений созданы языки программирования general-purpose. Такими темпами - на хабре была статья, как поднять вебсервер на матлабе.
Фреймворки, кстати, это общий случай. Вопрос человека о "небольшом новостном сайте" по поводу того, как организовать количество просмотров поста - тоже довольно таки типичная задача.