EHCache(2.ユーザエクスペリエンスの設定)


EHCacheの有効化と実装に関するレポートを作成します.
環境はSpringBoot+Maven+EHcache 3バージョンです.
特にEHCache 3バージョンのJSR-107互換性は2バージョンとは異なり、規格に基づいて開発されている.
Maven dependency
次の依存項目を登録してEHCacheを使用します.
<dependency>
  <groupId>org.ehcache</groupId>
  <artifactId>ehcache</artifactId>
  <version>3.6.2</version> 
</dependency>
以下の依存項目を登録してJSR-107 APIを使用する
<dependency>
  <groupId>javax.cache</groupId>
  <artifactId>cache-api</artifactId>
  <version>1.1.0</version>
</dependency>
スプリングガイドを使用して次の依存項目を登録します.
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-cache</artifactId>
  <version>2.1.1.RELEASE</version> 
</dependency>
特に、上記のspring-boot-start-cacheでは、CacheManagerなどのキャッシュに関連するspringサポートbeanが自動的に作成されます.
また、バージョンの場合は、スプリング起動アイテムのバージョンごとに設定します.
ehcache.xml
上記のMaven Dependency設定が完了している場合は、EHCacheを設定する必要があります.
設定の場合、xmlファイルまたはスプリングのCacheManager、Cacheを使用してコードに設定する方法があります.
私の場合、xmlファイルを使用して設定すると便利になるので、xmlに従って設定します.
<config
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
    xmlns='http://www.ehcache.org/v3'
    xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core.xsd">

(1) <cache alias="foo"> 
(2)    <key-type>java.lang.String</key-type> 
(2)    <value-type>java.lang.String</value-type> 
    <resources>
(3) <heap unit="entries">20</heap> 
(4)      <offheap unit="MB">10</offheap> 
    </resources>
  </cache>

(5) <cache-template name="myDefaults"> 
      <key-type>java.lang.Long</key-type>
      <value-type>java.lang.String</value-type>
      <heap unit="entries">200</heap>
(6)   <expiry> 
			<ttl unit="minutes">10</ttl>
	  </expiry>
    </cache-template>

(7) <cache alias="bar" uses-template="myDefaults"> 
      <key-type>java.lang.Number</key-type>
    </cache>

(8) <cache alias="simpleCache" uses-template="myDefaults" /> 

</config>
(1)キャッシュ名
(2)fooキャッシュのkeyとvalueタイプ,defaultはjavaである.lang.Object
(3)fooキャッシュは合計20項目をheap領域に格納する
(4)off-heapはheapメモリ領域以外の領域であり,GCターゲット空間ではない.fooは10 MBを使用するように設定されています
(5)cache-templateについてcacheタグ内で宣言する情報の共通設定
(6)キャッシュデータ持続時間の設定
(7)barキャッシュを作成し、use-templateを使用してcache-template設定を有効にした;key-type cache-templateのkey-typeの上書きを有効にした
(8)SimpleCacheを作成しcache-template設定を使用
作成したehcache.次の文をpropertiesに追加してSpringにxmlファイルを知らせる
spring.cache.jcache.config=classpath:ehcache.xml
以降SpringBootのMainクラスに@EnableCaching宣言を追加すると、EHCacheの設定が終了します.
リファレンス
  • https://www.ehcache.org/documentation/3.8/getting-started.html