Rails Caching, continue storing expired value

У меня есть длинный запрос к базе данных в одной из наших систем приборной панели, который я хотел бы кэшировать, поскольку результаты не обязательно должны быть точными в реальном времени, но могут дать "достаточно близкое" значение из кэша.

Я хотел бы сделать это без необходимости ожидания со стороны пользователя. Я рассматривал возможность использования чего-то вроде

Rails.cache.write('my_val', 'val', :expires_in => 60.minutes)

для хранения этого значения, но я не верю, что это дает точную функциональность, которая мне нужна. Я хотел бы использовать

 Rails.fetch('my_val') { create a background task to update my_val; return expired my_val}

Кажется, что my_val удаляется из кэша по истечении срока его действия. Есть ли способ получить доступ к этому истекшему значению или, возможно, другой встроенный механизм, который позволил бы реализовать эту функциональность?

Спасибо.

5
задан Peck 24 November 2011 в 04:08
поделиться