随着我们应用程序中的数据库事务变得越来越耗时,我们开始使用 memcached 来减少传递给 MySQL 的查询量。
总而言之,它运行良好,确实节省了大量时间。
但由于缓存作为一种解决方法“悄无声息地出现”,为应用程序提供更多动力,我们的许多模型现在都包含如下代码:
def self.all_cached
Rails.cache.fetch('object_name') {
find(
:all,
:include => [associations])
}
end
这变得越来越痛苦,因为填充和刷新缓存发生在应用程序的多个类中。
现在,我想知道是否有更好的方法来抽象 memcached 逻辑,使其在所有需要的模型中更强大和更易于使用?
我正在考虑使用某种 memcached-module,它包含在所有需要的模块中。
但在玩之前,我想:让我们先问专家:-)
谢谢
马特