goを使用してコマンドラインユーティリティを作成しています。これは特定のサーバーにデータを要求し、JSON応答でサーバーからデータを取得します。ユーティリティーは、複数の製品に対して複数の要求を行うことができます。 私は複数のリクエストを行い、各製品のレスポンスをJSON形式で適切に取得できます。 結果をキャッシュファイルまたはローカルファイルにローカルに保存します。どのリクエストでも、サーバーにリクエストを送信する前にローカルキャッシュをチェックします。その製品にデータがある場合、要求は送信されません。golangで永続キャッシュを行う方法は?
jsonレスポンス全体をキャッシュまたはローカルファイルに保存し、そのデータをサーバーに要求する前に毎回そのデータを保持します。
ユースケース: 製品{ "A"、 "B"、 "C"、 "D"、 "E"}これは製品 試験1の任意の数とすることができる:A、B、C ための取得データデータが利用可能であるかどうか、または要求を行うかどうかをローカルストレージでチェックします 各製品のストレージにjson要求を保存します。
だから試験1のために、それはのようなエントリを有することになる。 [{テスト1:[{製品A:JSONレスポンス}、{製品B:JSONレスポンス}、{生成物C:JSONレスポンス}]}]
2つの製品のテストが失敗し、2つの製品の結果が得られた場合は、2つの製品の応答を保存し、テストを再度実施すると3番目の製品のみの結果が得られます。
go-cacheを使用してキャッシュにファイルを保存するにはどうすればいいですか?結果を保存してファイルからキャッシュを取得する例はありません – rohan
go-cacheを使用してメモリに保存することができます。ファイルに保存したい場合は、Redis – Tinwor
を使用することをお勧めします。Redisは独自のサーバーまたはインストールも必要ですか? 他の言語でも必要なので、申し訳ありませんが、私はゴランには初めてです。 ツールはコマンドラインとなり、システムに構築できる単一のgoファイルとしてユーザーに配布されます。 ツールに必要な追加のインストールを避けようとしています。マップオブジェクトをファイルにローカルに格納し、ファイルのみを読み書きするのはどれくらい良いでしょうか。 ありがとうございます – rohan