我有這基本上只是一個數據庫查詢的活動記錄模型的方法,我想緩存結果,最好是簡單地爲通過在模型中的局部變量:Rails的活動記錄模式的生命週期
my_data = method_already_called ? stored_results : do_query
這讓我意識到我並不真正瞭解Active Record模型的對象生命週期,所有的Rails指南都告訴你關於回調。具體而言,我可以猜測,當用戶想要檢索與該對象相關的一些數據時,該對象將被創建,但我不知道該對象何時將被銷燬。
在實際層面上,比如用戶請求一些信息,這會導致創建一個AR對象,從數據庫中獲取一些實例數據並在將其呈現給用戶之前對其進行處理。如果用戶想要根據這些信息指示它執行某些操作,那麼該對象在內存中的存在時間有多長?
在此先感謝。
編輯:我特別感興趣的Ruby 2.4上的Rails 5.1的行爲。