Почему вы хотите сохранить модели?Это не поможет кэшированию.Вместо этого вам следует профилировать ваше приложение и применять методы кэширования, такие как memcached.
Но в любом случае вот код, который просто читает вашу таблицу:
Model.each {|model| Model.new model.attributes }
Обновите согласно вашим разъяснениям: Копирование из одной БД в другую без дублирования может быть выполнено следующим образом (учитывая, что Model1 обращается к исходной БД, а Model2 обращается к целевой БД):
Model1.each do |model1|
model2 = Model2.find_or_initialize_by_id model1.id, model1.attributes
model2.save!
}
Однако это не будет обрабатывать удаления.Возможно, вы все еще захотите изучить memcached и, возможно, разделение базы данных.Может также стоить подумать о репликации master / slave на уровне базы данных, где ваша «медленная» база данных является master (все записи в базу данных идут к этому), а slave - «быстрая» база данных (все read читаются на это).Веб-приложения обычно привязаны к чтению, поэтому в вашем случае это поможет.Rails имеет поддержку для этого, см. Серия скриншотов NewRelic Scaling Rails о масштабировании ваших баз данных .