1

リクエストAPIにはFaradayを使用しています。応答本文をキャッシュして、指定された有効期限のリクエストの代わりに使用したい。

FaradayMiddleware::Caching を見つけて、応答本文をキャッシュできますが、要求の代わりにキャッシュを使用する方法がわかりません。

私が使用している API サービスは http キャッシュをサポートしていないため、faraday-http-cache gem を使用できません。

私のコードの下

connection = Faraday.new(url: 'http://exapmle.com') do |faraday|
  faraday.request :url_encoded
  cache_dir = File.join('/tmp/cache')
  faraday.response :caching do
    ActiveSupport::Cache::FileStore.new cache_dir, :expires_in => 3600
  end
  faraday.adapter Faraday.default_adapter
end

connection.get '/path/to/api', version: nil

通常の応答の代わりにキャッシュされたデータを使用するにはどうすればよいですか?

キャッシュキーはリクエストURLですが、urlは動的に変化します。だから私はファラデーによって構築されたURLを取得する方法が必要だと思います.

4

0 に答える 0