我有兩個模型,稱爲Division
和Tier
,這些模型被查詢了很多,但插入或更新幾乎沒有做過。這些表只有少量或記錄,因此整個表可以存儲在內存中。Rails模型緩存
class Division
# position: integer
belongs_to :tier
end
class Tier
# name: string
has_many :tiers
end
這些表查詢中幾乎每一頁,所以它看起來像數據庫浪費調用
型號的緩存解決方案,如identity cache,這在memcached的緩存記錄,只允許你從緩存中檢索記錄由id。
了許多疑問都只是通過ID選擇,但是我也喜歡
SELECT * FROM divisions WHERE divisions.position BETWEEN ? AND ?
我有幾個問題進行了大量的查詢
- 將在數據庫緩存這些表中的內存本身,使另一個緩存解決方案不必要?
- 如果不是,有沒有什麼辦法可以在內存中緩存這些模型,並使用除了id以外的條件查詢緩存?
- 我基本上要求redis/memcached的速度,但關係數據庫的功能,這是不可能的?