我有两个模型,称为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的速度,但关系数据库的功能,这是不可能的?