поскольку транзакции базы данных в нашем приложении становятся все более и более трудоемкими, мы начали использовать memcached для уменьшения количества запросов, переданных MySQL.
В целом, он отлично работает и действительно экономит много времени.
Но поскольку кеширование "молчаливо появлялось" в качестве обходного пути, чтобы придать приложению больше сока, многие наши модели теперь содержат такой код:
def self.all_cached
Rails.cache.fetch('object_name') {
find(
:all,
:include => [associations])
}
end
Это становится все больнее, поскольку заполнение и очистка кеша происходит в нескольких классах по сравнению с приложением.
Теперь мне было интересно, есть ли лучший способ абстрагировать логику memcached, чтобы сделать ее более мощной и простой в использовании во всех необходимых моделях?
Я думал о наличии какого-то memcached-модуля, который включен во все необходимые модули.
Но прежде чем играть, я подумал: сначала спросите экспертов: -)
Спасибо
Matt