4
我看了官方指南。它說有page cache
,action cache
和fragment cache
,但他們不是我想要的。如何在Rails中緩存任意對象(基於時間)?
我只是想緩存的對象,而不是整個頁面或視圖片段,像這樣的僞代碼:
def show
cache @ads, :expires_in => 1.hour do
@ads = Advertisement.all
do
end
這可能嗎?與memcache
或redis
?
緩存對象是指序列化(通常是通過Marshal.dump/Marshal.load)。要小心,因爲一些對象不能被序列化。一些其他人有大的對象圖(指向其他大對象的屬性和變量),這些對象的序列化/反序列化可能既昂貴又會佔用比預期更多的空間。例如,通過將ActiveRecord對象序列化爲redis/memcache來「緩存」它是**不是一個好主意。 –