ehcacheは、高速で無駄のない機能を備えた純粋なJavaインプロセスキャッシュフレームワークであり、冬眠のデフォルトのキャッシュプロバイダーです。
Ehcacheは、主にメモリレベルとディスクレベルに分割されたさまざまなキャッシュ戦略を提供するため、容量の問題について心配する必要はありません。
Spring-Bootは、新しいSpringアプリケーションの初期建設および開発プロセスを簡素化するために設計された高速統合フレームワークです。フレームワークは特定の方法を使用して構成するため、開発者はボイラープレート構成を定義する必要がなくなります。
ユーザーがログインした後、表示した後に表示されたほぼすべてのページが表示された後、ユーザー情報を表示する必要があります。ユーザーが正常にログインした後、ユーザー情報をキャッシュしてから、キャッシュされたデータを直接取得できます。
前に書いてください
スプリングブートの場合、独自のキャッシュフレームワークが組み込まれています。
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-cache </artifactid> </dependency>
このフレームワークをキャッシュに使用する方法は、オンラインで多くの情報があります。ただし、それらのほとんどは、サービスレイヤーでキャッシュする方法を説明し、データベースからデータを取得するときにキャッシュされたデータを直接取得し、セカンダリクエリを実行しなくなりました。しかし、私の現在の要件は、ユーザーにログインしたキャッシュをキャッシュすることであり、コードを使用して次回それを取得します。サービス方法を再度調整する代わりに!情報が見つかったようです!たぶん誰もそれに遭遇していません。
計画を探ります
以前のプロジェクトでは、ehcacheが使用されており、もちろん、対応するehcacheutilsメソッドもあります。スプリングブートとehcacheの統合について話しましょう。
実際の操作の後、ehcacheの統合は非常に簡単であり、3つのステップがあることがわかりました。
Mavenパッケージのインポート
<Dependency> GroupId> net.sf.ehcache </groupid> <artifactid> ehcache </artifactid> <バージョン> 2.10.1 </version> </dependency>
スタートアップクラスでキャッシュメカニズムを有効にします
image.png
ehcache構成ファイルを追加し、リソースの下に新しいehcache.xmlファイルを作成します。ファイルの構成は次のとおりです。
<?xml version = "1.0" encoding = "utf-8"?> <ehcache> <cache name = "objectcache" maxelementsinmemory = "1000"> </cache> </ehcache>
キャッシュを使用します
この時点で、SpringbootはEhcacheManager用のBeanを生成しました。必要な場所に直接注入できます。以下は、私のシンプルなUTILSファイルと、参照のみのためにデータを保存および取得する場所です。何か問題がある場合は、私を修正してください。
UTILは次のとおりで、セットと取得方法のみが提供されます。
パブリッククラスehcacheutils { / ** * cache object * @param cachemanager * @param key * @param object * / public static void setcache(cachemanager cachemanager、string key、object){cache cache = cachemanager.getcache( "objectcache");要素要素= new Element(key、object); cache.put(element); } / ** * cacheからオブジェクトを削除 * @param cachemanager * @param key * @return * / public static object getCache(cachemanager cachemanager、string key){object object = null;キャッシュcache = cachemanager.getCache( "ObjectCache"); if(cache.get(key)!= null &&!cache.get(key).equals( "")){object = cache.get(key).getObjectValue(); }オブジェクトを返します。 }}キャッシュを堆積する方法は次のとおりです。
@autowiredprivate cachemanager cachemanager; //いくつかのキーコードehcacheutils.setcache(cachemanager、 "op"、searchop);
キャッシュを削除する方法は次のとおりです。
@autowiredprivate cachemanager cachemanager; operator searchop =(operator)ehcacheutils.getcache(cachemanager、 "op");
最後に書かれています
個人的には、スプリングブートによって提供される注釈ベースの方法は、インターセプター処理により適していると思います。キャッシュメカニズムを使用したサービス方法は、指定された要求のサービス方法を設定するために使用されます。サービスは、実際の状況に応じてキャッシュを直接取得するか、データベースを照会します。
要約します
上記は、あなたに紹介されたehcacheを統合するスプリングブートの実際の計画です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!