2014-10-10 3 views
0

На домашней странице моего приложения управления проектами Rails я хотел бы показать общее количество всех projects, когда-либо созданных с помощью приложения.Где хранить все записи?

Этого очень легко достичь. Прямо сейчас, я просто делаю:

<p>Total projects: <%= Project.count %></p> 

Однако мне не нравится тот факт, что база данных получает удар каждый раз, когда пользователь просматривает главную страницу.

Есть ли более эффективный способ хранения всего проекта, например. в переменной или файле?

Между прочим, нет необходимости, чтобы счет был слишком точным. Я просто хочу использовать его в маркетинговых целях.

Спасибо за любую помощь.

ответ

10

в вас контроллер приложения:

def project_count 
    Rails.cache.fetch('project_count') { Project.count } 
end 

helper_method :project_count 

На ваш взгляд:

<%= project_count %> 

Check doc для истечения срока действия и т.д.

+3

вы, вероятно, хотите иметь дело с кэш недействительности в какой-то момент, или использования параметр 'expires_in'. –

Смежные вопросы