Springアプリケーション追加キャッシュ

2818 ワード

詳細
 
このバージョンの最もクールな新しい特性は、全方位のキャッシュサポートを導入することです.Spring 3.1は、既存のSpringアプリケーションにキャッシュを追加するサポートを提供し、この特性はアプリケーション自体にとって透明であり、抽象層をキャッシュすることによって、既存のコードへの影響を最小限に抑える.
このキャッシュメカニズムはJavaのメソッドに対して、特定のパラメータによってメソッドが実行されたかどうかを確認し、Springは実行結果をキャッシュし、メソッドを再実行する必要はありません.
キャッシュのサポートは、次の構成で有効にできます(新しいschemaの使用に注意してください).
 

 
  
  ...

次に、@Cacheableおよび@CacheEveictを使用してキャッシュを操作できます.
 
@Cacheable("persons")
public Person profile(Long personId) { ... }

上記のコードはpersonsという名前のキャッシュ領域を宣言し、このメソッドを呼び出すとSpringはキャッシュにpersonIdに対応する値があるかどうかをチェックします.
複数のキャッシュ領域を指定することもできます.アプリケーションで必要な場合は、次のようにします.
 
@Cacheable({"persons", "profiles"})
public Person profile(Long personId) { ... }

複数の領域を指定すると、Springは個々にチェックされ、ある領域に指定値があると返されます.
@CacheEveictは、キャッシュからデータを消去するために使用されます.たとえば、次のようになります.
 
@CacheEvict (value = "persons", allEntries=true)
public List listPersons()

@CacheEveictはキャッシュをクリアする条件を指定できます.
キャッシュのキーを指定することもできます.
 
@Cacheable(value="persons", key="personId")
public Person profile(Long personId, Long groundId) { ... }

または、条件に基づいてキャッシュするかどうかを決定します.
 
@Cacheable(value="persons", condition="personId > 50")
public Person profile(Long personId) { ... }

キャッシュマネージャの構成:
 


  
    
      
      
    
  

Ehcacheキャッシュベースの構成:
 

 


上記の内容が読めない場合は、