春はまた、あなたが知っている、このキャッシュを使用することができますか?

プロジェクトの開発プロセスの誰も、多かれ少なかれ、データベースへの圧力を軽減するために、キャッシュを使用し、それらのキャッシュ内のデータ、以上のキャッシュから直接読み取るためのアクセスを要求します。ようにmemcacheの、Redisの、MongoDBは、グアバのキャッシュと:キャッシュメモリは、一般的に読み出し速度が速くなるに基づいており、市場はより一般的なバッファを持っています。

従来のキャッシュ使用

我々はキャッシュを使用すると、ときに、このような一般的なロジック:

  1. 状況に応じてキーを生成します。
  2. データが正常に返され、読み取られた場合、キャッシュからデータを読み込みます。
  3. データが存在しない場合は、データベースから読み込まれた条件に応じて、
  4. データベース内のデータからキャッシュに読み込まれます。
  5. データを返します。

キャッシュを使用して各シーンには、上記のロジックはそれを書き換える必要があり、それは非常に過敏ではない、それは時間の無駄ではありません。上記のロジックを実現する簡単な方法はありませんか?はい、それが今日であるもちろん、春のキャッシュを紹介したいと思います。

春のキャッシュ

春のキャッシュは謎ではありませんが、非常に使いやすいです。これは、ノートで構成されている、最も一般的なコメントが@Cacheableです。この注釈は、メソッドで使用されている使用注釈付きメソッドが呼び出されたときに、それがキャッシュにキャッシュが存在しない場合は、クエリキャッシュを開始します方法が行われ、その後、戻り値。次のように具体的な方法は以下のとおりです。

キャッシングはまた、あなたが何を知っているようで遊ぶことができますか?

 

まず、私たちは環境次第春ブーツにIDEAを使用し、選択は、ページに依存し、私たちはロンボクやキャッシュ、最も重要な選択肢のキャッシュを選んだああ〜セットアッププロジェクトが完了した後、我々は依存性ののpom.xmlを見てみましょう。

キャッシングはまた、あなたが何を知っているようで遊ぶことができますか?

 

私たちは、依存してキャッシュを追加し、自動的に参照してください。次はよう、起動クラスのSpringBootに@EnableCachingコメントを追加するためにキャッシュを使用します。

キャッシングはまた、あなたが何を知っているようで遊ぶことができますか?

 

次のようにその後、我々は、コントローラーのテストを記述します。

キャッシングはまた、あなたが何を知っているようで遊ぶことができますか?

 

私たちは、@RestControllerノートを使うので、結果JSON形式を返します。そして、今日のヒーローである方法、に@Cacheableコメントを使用しています。

  • cacheNames:複数のキャッシュがあり、いくつかの方法の指定キャッシュ。
  • キー:キャッシュキーのSpeI式は参照名を使用して、上記の例では、使用されてもよいです。

次のようなここに記載されていない他のキーワードがありますが、

  • 同期:trueまたはfalse、並行処理の量が非常に大きく、同時に一つだけのスレッドの実行方法を開きますが、他のスレッドは、キャッシュからデータを読み取り、その後、お待ちしておりますことを確実にすることができます。
  • 条件:キャッシュされた条件を使用します。
  • するKeyGenerator:指定されたキージェネレータ。

私たちは、プロジェクトを開始し、ブラウザでhttpで初めて:// localhostを:8080 /キャッシュ/テスト名=アレン、結果は5秒かけて、ゆっくりと応答している、ページに結果が表示されます?:

キャッシングはまた、あなたが何を知っているようで遊ぶことができますか?

 

私たちは、バックグラウンドログを見て:

キャッシングはまた、あなたが何を知っているようで遊ぶことができますか?

 

print文はその最初の訪問、メソッドの実装を示し、プリントアウト。私たちは、ブラウザで同じアドレスを要求してみましょう、結果は同じ結果に戻ったが、背景には、ログ、およびまったく同じ上記の二つの絵を印刷しません。説明要求がキャッシュ方式が実行されませんでした。

概要

どうでしょうか?それを@Cacheable活用プロジェクトではそれで、我々はすぐにハンズオン、実用的な外観、ああゲストブックコメント問題があります

おすすめ

転載: www.cnblogs.com/boboooo/p/11248145.html
おすすめ