У меня есть длинный запрос к базе данных в одной из наших систем приборной панели, который я хотел бы кэшировать, поскольку результаты не обязательно должны быть точными в реальном времени, но могут дать "достаточно близкое" значение из кэша.
Я хотел бы сделать это без необходимости ожидания со стороны пользователя. Я рассматривал возможность использования чего-то вроде
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 удаляется из кэша по истечении срока его действия. Есть ли способ получить доступ к этому истекшему значению или, возможно, другой встроенный механизм, который позволил бы реализовать эту функциональность?
Спасибо.