0
緩存對我來說似乎很複雜。有太多的緩存方式,我當然無法關注其中的任何一種。在我的應用程序,爲每一個用戶,他的個人資料,我顯示24個隨機用戶:如何緩存每個用戶24小時的查詢?
@random_users = User.random(24)
現在我想緩存結果爲每個用戶24小時。因此,用戶A登錄並且查詢僅在24小時內運行一次。然後用戶B登錄併發生相同的事情。不過,我希望將每個用戶的緩存結果分開存儲。意思是,如果用戶B在用戶A之後登錄,我不希望用戶A的緩存過期。我怎樣才能做到這一點?
這不起作用..在我的控制器中,我有:'Rails.cache.fetch「randoms_for_user _#{current_user.id}」,:expires_in => 24.hours do @random_users = User.random(24 ) end'它首次查詢並顯示24個隨機用戶,但在隨後的頁面瀏覽或刷新頁面時無顯示隨機用戶。 – pratski
在後續加載該塊沒有執行,所以你不應該有任何副作用。將分配移至塊外部 –