Rails 3.1 Record Counter для домашней страницы - PullRequest
1 голос
/ 24 июля 2011

У меня был быстрый вопрос, который меня беспокоил. Я хотел бы разместить счетчик на домашней странице моего сайта Rails 3.1.rc4, чтобы рекламировать, сколько постов микроблоггинга содержится в базе данных сайта. Проблема в том, что это число будет расти со временем, и я не хочу использовать что-то вроде Post.find(:all).count. Так вот в чем мой вопрос: есть ли простой, с возможностью кэширования (скажем, 8 часов) и не требующий больших ресурсов способ отобразить количество записей в базе данных? Я использую ActiveRecord и хостинг Heroku (Cedar Stack без кэша Varnish).

Спасибо за вашу помощь!

Ответы [ 2 ]

3 голосов
/ 24 июля 2011

Да, используйте Post.count, и если вы хотите кэшировать результат в течение 8 часов, выполните:

Rails.cache.fetch(:posts_count, :expires_in => 8.hours) do
  Post.count
end
0 голосов
/ 24 июля 2011

Просто используйте Post.count, что делает select count(id) from posts; в SQL.

...