Я работаю над приложением RoR. Я хочу установить ttl для распроданных предметов. Функция sold_out_status возвращает productIds из реализованных-выпускаемой продукции и определяется как:Как кэшировать динамический контент в лаке?
def sold_out_status
query_str = params[:pids]
pids = query_str.split(",")
sold_outs = cache(request.fullpath.to_s, :expires_in => 3600.seconds.to_i) do
pids.select {|x| (Product.find(x).on_hand <= 0)}.join(",")
end
render :text => sold_outs
end
Есть ли способ я могу кэшировать продукты в лаке и установить ТТЛ для распроданных продуктов. Некоторые исследования показали, что ESI может быть хорошей идеей. Но я не смог найти подробную документацию, которую я мог бы выполнить для ее реализации. Также, как я могу получить доступ к выходу sold_out_status в лак?
EDIT: Проданные товары на странице можно найти по URL-адресу запроса, страница, соответствующая этому URL-адресу, содержит идентификаторы проданных продуктов, отображаемых в виде текста.