春 は、Java用の軽量の依存性注入およびアスペクト指向開発コンテナおよびフレームワークです。 J2EE開発の全体的な複雑さを軽減し、高い凝集度と緩い結合を提供します。 Springが提供する利点のため、多くの開発者が小規模からエンタープライズレベルのアプリケーションでトラフィックの多いアプリケーションを作成するために使用しています。
しかし、これらのトラフィックの多いSpringアプリケーションは、スケーラビリティの大きな問題に直面しています。 アプリケーションサーバーファームにサーバーを追加することで拡張できますが、データベースサーバーは、増大するトランザクション負荷を処理するために同じ方法で拡張することはできません。 このような状況では、Java分散キャッシュは、これらの高価なデータベーストリップを削減し、アプリケーションのパフォーマンスを向上させることでデータベースの負荷を軽減するため、処理するのに最適です。
NCache 詳細 NCache ドキュメント NCache 春のキャッシングドキュメント
なぜ春のアプリケーションで NCache?
NCache, インメモリ分散キャッシュは、SpringアプリケーションのCPUを集中的に使用し、データベースにバインドされたメソッドの出力を簡単にキャッシュできる汎用Javaキャッシュメカニズムを導入することにより、SpringCachingプロバイダーを実装しました。 このアプローチは、データベースの負荷を軽減するだけでなく、メソッドの実行回数を減らし、アプリケーションのパフォーマンスを向上させます。 このブログでは、SpringCachingを構成する方法についてさらに説明します。 NCache.
NCache 詳細 NCache Springデータキャッシュとして を使用してアプリケーションを構成する NCache
使用するSpringCachingを構成する方法 NCache?
NCache を介してSpringキャッシングサポートを提供します ジェネリックスプリングキャッシングプロバイダーここで、 NCache Springアプリケーションのキャッシュマネージャーとして機能します。 JCacheキャッシングプロバイダーここで、 NCache JCacheのサポートされている機能を使用します。 両方の方法と構成について、以下の手順に従ってください。 NCache Springアプリケーションで。
ジェネリックスプリングキャッシングプロバイダー
Springアプリケーションをで構成する場合 NCache Generic Spring Caching Provider、最初に必要なものを追加する必要があります Mavenの依存関係 その春と NCache 提供します。 次に、SpringアプリケーションでBeanを定義します。 JavaベースのBean定義 or XMLベースのBean定義.
Javaベースの定義を使用してBeanを定義するには、 @Bean
の注釈 CachingConfiguration
クラス setConfigFile()
メソッドはあなたへのパスを指定します ncache-spring.xml
以下に示すファイル。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@Configuration @EnableCaching public class CachingConfiguration { @Bean public CacheManager cacheManager() { SpringConfigurationManager springConfigurationManager = new SpringConfigurationManager(); URL resource = getClass().getClassLoader().getResource("ncache-spring.xml"); springConfigurationManager.setConfigFile(resource.getPath()); NCacheCacheManager cacheManager = new NCacheCacheManager(); cacheManager.setSpringConfigurationManager(springConfigurationManager); return cacheManager; } } |
XMLベースの定義を使用してBeanを定義するには、キャッシュを有効にして指定するxmlファイルを追加する必要があります NCache キャッシュマネージャーとして。 Beanタグは両方に対して定義する必要があります cacheManager
および NCacheConfigurationManager
. だから、 springConfigurationManager
および logFilePath
cacheManagerにはプロパティを指定する必要があります。 これらのプロパティの詳細については、 春のキャッシングドキュメント.
NCache キャッシュマネージャーは ncache-spring.xml
ファイル。キャッシュは、独自のプロパティセットを使用して構成および定義する必要があります。 サンプルコードを以下に示します。
1 2 3 4 5 |
<application-config default-cache-name="default"> <caches> <cache name="CustomerCollectionCache" ncache-instance="demoCache" priority="normal" expiration-type="absolute" expiration-period="10"/> </caches> </application-config> |
JCacheSpringキャッシングプロバイダー
Springは、SpringアプリケーションでJCacheを使用できるJCache苦情キャッシュプロバイダーもサポートしています。 NCache。 SpringFrameworkまたはSpringBootに必要なMaven依存関係を追加し、 NCache 統合のため。 次に、JCacheSpringアプリケーション用にキャッシュを構成します。
さらに説明されているXNUMXつの方法でキャッシュを構成できます。 XNUMXつは、追加できます spring.cache.cache-names
タグは application.properties
ファイル。 キャッシュ名は、で構成されたものと同じである必要があります NCache Webマネージャ.
1 |
spring.cache.cache-names=demoCache,booksCache |
その他は、を介してキャッシュを構成できます JCacheManagerCustomizer
実行時に必要な構成でキャッシュを初期化するクラス。
1 2 3 4 5 6 7 8 9 10 11 |
@Configuration public class CacheConfiguration implements JCacheManagerCustomizer { @Override public void customize(CacheManager cacheManager) { MutableConfiguration mutableConfiguration = new MutableConfiguration(); mutableConfiguration.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE)); cacheManager.createCache("booksCache", mutableConfiguration); } } |
キャッシング宣言を使用してキャッシュする必要があるメソッドを特定する
上記で定義した両方の構成でキャッシュを有効にしたら、次のステップは、これらのキャッシュ動作をそれぞれのメソッドにバインドして、使用することです。 NCache 春のキャッシングプロバイダーとして。
キャッシュ動作をメソッドにバインドするには、XNUMXつの方法があります。 XNUMXつは通過です キャッシングアノテーション もうXNUMXつは 宣言型XMLベースのキャッシング。 詳細な理解を得るには、にアクセスしてください キャッシング宣言のSpringDocsを構成する.
@Cacheableアノテーションを使用して、キャッシュブックキャッシュを含むWebサービスでキャッシュを実行するサンプルコードを次に示します。
1 2 3 4 5 6 7 8 9 |
// BookService.java @Service public class BookService { @Cacheable("booksCache") public String getBookNameByIsbn(String isbn) { return findBookInSlowSource(isbn); } // further code } |
NCache 詳細 JCacheAPIドキュメント Hibernateキャッシング
結論!
使用することにより、 NCache Spring Cachingプロバイダーとして、Springアプリケーションを直線的に拡張してパフォーマンスを向上させることができます。 設定ファイルを変更するだけで、準備完了です。 だから、ダウンロード NCache 今すぐ試してみてください!