public class CaffeineCacheManager extends java.lang.Object implements CacheManager
getCache(java.lang.String) リクエストごとに CaffeineCache インスタンスを遅延ビルドする CacheManager 実装。また、キャッシュ名のセットが setCacheNames(java.util.Collection<java.lang.String>) を介して事前に定義されている「静的」モードもサポートしています。実行時に追加のキャッシュ領域を動的に作成することはありません。 基礎となるキャッシュの構成は、Caffeine ビルダーまたは CaffeineSpec を介して微調整でき、setCaffeine(com.github.benmanes.caffeine.cache.Caffeine<java.lang.Object, java.lang.Object>)/setCaffeineSpec(com.github.benmanes.caffeine.cache.CaffeineSpec) を介してこの CacheManager に渡されます。CaffeineSpec -compliant 式の値は、"cacheSpecification" Bean プロパティを介して適用することもできます。
Caffeine 2.1 以上が必要です。
CaffeineCache| コンストラクターと説明 |
|---|
CaffeineCacheManager() 動的な CaffeineCacheManager を構築し、リクエストされているキャッシュインスタンスを遅延作成します。 |
CaffeineCacheManager(java.lang.String... cacheNames) 静的 CaffeineCacheManager を構築し、指定されたキャッシュ名のみのキャッシュを管理します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected Cache | createCaffeineCache(java.lang.String name) 指定されたキャッシュ名の新しい CaffeineCache インスタンスを作成します。 |
protected com.github.benmanes.caffeine.cache.Cache<java.lang.Object,java.lang.Object> | createNativeCaffeineCache(java.lang.String name) 指定されたキャッシュ名のネイティブ Caffeine キャッシュインスタンスを作成します。 |
Cache | getCache(java.lang.String name) 指定された名前に関連付けられたキャッシュを返します。 |
java.util.Collection<java.lang.String> | getCacheNames() このマネージャーが知っているキャッシュ名のコレクションを返します。 |
boolean | isAllowNullValues() このキャッシュマネージャーが、すべてのキャッシュの null 値を受け入れて変換するかどうかを返します。 |
void | setAllowNullValues(boolean allowNullValues) このキャッシュマネージャーのすべてのキャッシュの null 値を受け入れて変換するかどうかを指定します。 |
void | setCacheLoader(com.github.benmanes.caffeine.cache.CacheLoader<java.lang.Object,java.lang.Object> cacheLoader)Caffeine CacheLoader を設定して、個々の CaffeineCache インスタンスを作成し、LoadingCache に変換します。 |
void | setCacheNames(java.util.Collection<java.lang.String> cacheNames) この CacheManager の「静的」モードのキャッシュ名のセットを指定します。 |
void | setCacheSpecification(java.lang.String cacheSpecification) 個々の CaffeineCache インスタンスを構築するために使用する Caffeine キャッシュ仕様文字列を設定します。 |
void | setCaffeine(com.github.benmanes.caffeine.cache.Caffeine<java.lang.Object,java.lang.Object> caffeine)Caffeine を設定して、個々の CaffeineCache インスタンスを作成します。 |
void | setCaffeineSpec(com.github.benmanes.caffeine.cache.CaffeineSpec caffeineSpec) 個々の CaffeineCache インスタンスの構築に使用する CaffeineSpec を設定します。 |
public CaffeineCacheManager()
public CaffeineCacheManager(java.lang.String... cacheNames)
public void setCacheNames(@Nullable java.util.Collection<java.lang.String> cacheNames)
キャッシュの数とその名前は、このメソッドの呼び出し後に修正され、実行時にさらにキャッシュ領域が作成されることはありません。
null コレクション引数でこれを呼び出すと、モードが「動的」にリセットされ、キャッシュをさらに作成できるようになります。
public void setCaffeine(com.github.benmanes.caffeine.cache.Caffeine<java.lang.Object,java.lang.Object> caffeine)
CaffeineCache インスタンスを作成します。createNativeCaffeineCache(java.lang.String), Caffeine.build()public void setCaffeineSpec(com.github.benmanes.caffeine.cache.CaffeineSpec caffeineSpec)
CaffeineCache インスタンスの構築に使用する CaffeineSpec を設定します。createNativeCaffeineCache(java.lang.String), Caffeine.from(CaffeineSpec)public void setCacheSpecification(java.lang.String cacheSpecification)
CaffeineCache インスタンスを構築するために使用する Caffeine キャッシュ仕様文字列を設定します。指定された値は、Caffeine の CaffeineSpec に準拠する必要があります(javadoc を参照)。createNativeCaffeineCache(java.lang.String), Caffeine.from(String)public void setCacheLoader(com.github.benmanes.caffeine.cache.CacheLoader<java.lang.Object,java.lang.Object> cacheLoader)
CaffeineCache インスタンスを作成し、LoadingCache に変換します。createNativeCaffeineCache(java.lang.String), Caffeine.build(CacheLoader), LoadingCachepublic void setAllowNullValues(boolean allowNullValues)
null 値を受け入れて変換するかどうかを指定します。Caffeine 自体が null 値をサポートしていないにもかかわらず、デフォルトは "true" です。内部ホルダーオブジェクトは、ユーザーレベルの null を格納するために使用されます。
public boolean isAllowNullValues()
null 値を受け入れて変換するかどうかを返します。public java.util.Collection<java.lang.String> getCacheNames()
CacheManagerCacheManager 内の getCacheNames @Nullable public Cache getCache(java.lang.String name)
CacheManagerCacheManager 内の getCache name - キャッシュ識別子 (null であってはなりません)null protected Cache createCaffeineCache(java.lang.String name)
name - キャッシュの名前 protected com.github.benmanes.caffeine.cache.Cache<java.lang.Object,java.lang.Object> createNativeCaffeineCache(java.lang.String name)
name - キャッシュの名前