我正嘗試在我的網站上用mysql創建類似於stackoverflow「user score」的東西。我不希望每次訪問用戶時計算此分數,因爲多個用戶分數將同時顯示,並且計算方式不需要頻繁更新。我的想法是更新所有用戶表中的分數行的定時的基礎上(每小時,每天,等等),這是它會是什麼樣子:Ruby on Rails:定時更新表記錄
user.score = user.score + x_actions_since_last_update *2 + y_actions_since_last_update - z_actions_since_last_update*3
但我如何去在這個運行定時間隔?這甚至是完成我想要做的最好的方法嗎?有沒有我應該做的某種緩存呢?謝謝!
對不起,讓你重複,但爲什麼不更新分數時,對任何進入該分數進行了一些改變(例如,當他們或某人做某些事情導致他們失去/獲得積分)? – 2010-05-04 14:21:09
是的,請參閱我爲Pär所做的評論。 – JackCA 2010-05-04 15:04:28