クラス RedisCacheConfiguration
java.lang.ObjectSE
org.springframework.data.redis.cache.RedisCacheConfiguration
不変
RedisCacheConfiguration は、null 値のキャッシュ、キャッシュキープレフィックスの計算、バイナリ直列化の処理など、RedisCache の動作をカスタマイズするために使用されます。defaultCacheConfig() から始めて、entryTtl(Duration)、serializeKeysWith(SerializationPair)、serializeValuesWith(SerializationPair) などのビルダーメソッドを使用して RedisCache の動作をカスタマイズします。
- 導入:
- 2.0
- 作成者:
- Christoph Strobl, Mark Paluch, John Blum
フィールド概要
フィールド修飾子と型フィールド説明protected static final booleanprotected static final booleanprotected static final booleanprotected static final booleanprotected static final booleanprotected static final boolean方法の概要
修飾子と型メソッド説明voidaddCacheKeyConverter(Converter<?, StringSE> cacheKeyConverter) computePrefixWith(CacheKeyPrefix cacheKeyPrefix) 指定されたCacheKeyPrefixを使用して、関数入力としてキャッシュ名を指定した実際の Redis キーのプレフィックスを計算します。voidconfigureKeyConverters(ConsumerSE<ConverterRegistry> registryConsumer) キャッシュキーの抽出に使用される基礎となるConversionServiceを構成します。static RedisCacheConfiguration以下を使用したデフォルトのRedisCacheConfiguration: キーの有効期限永遠のキャッシュ null 値はいプレフィックスキャッシュキーはいデフォルトのプレフィックス [ 実際のキャッシュ名 ] キーシリアライザーStringRedisSerializer値シリアライザーJdkSerializationRedisSerializer変換サービスDefaultFormattingConversionServiceとdefaultキャッシュキーコンバーターstatic RedisCacheConfigurationdefaultCacheConfig(ClassLoaderSE classLoader) 以下を使用して、ClassLoaderSE を指定してデフォルトのRedisCacheConfigurationを作成します。キーの有効期限永遠のキャッシュ null 値はいプレフィックスキャッシュキーはいデフォルトのプレフィックス [ 実際のキャッシュ名 ] キーシリアライザーStringRedisSerializer値シリアライザーJdkSerializationRedisSerializer変換サービスDefaultFormattingConversionServiceとdefaultキャッシュキーコンバーターnull 値のキャッシュを無効にします。キャッシュキープレフィックスの使用を無効にします。Cache.get(Object)などのCache読み取り操作でアイドル時間 (TTI) の有効期限を有効にします。entryTtl(DurationSE ttl) キャッシュエントリに適用する ttl を設定します。entryTtl(RedisCacheWriter.TtlFunction ttlFunction) TTL functionを設定して、キャッシュエントリの存続時間を計算します。boolean構成されたCacheKeyPrefixを取得します。getKeyPrefixFor(StringSE cacheName) 指定された cacheName の計算されたキープレフィックスを取得します。getTtl()使用すべきではありません。3.2 以降。キャッシュキーの有効期限 (TTL) の有効期限を計算するために使用されるRedisCacheWriter.TtlFunctionを取得します。booleanキャッシュに対してアイドル時間 (TTI) の有効期限が有効になっているかどうかを決定します。prefixCacheNameWith(StringSE prefix) cache nameの前に指定された値を付けます。static voidregisterDefaultConverters(ConverterRegistry registry) デフォルトのキャッシュkey convertersを登録します。serializeKeysWith(RedisSerializationContext.SerializationPair<StringSE> keySerializationPair) キャッシュキーの逆直列化 / 直列化に使用されるRedisSerializationContext.SerializationPairを定義します。serializeValuesWith(RedisSerializationContext.SerializationPair<?> valueSerializationPair) キャッシュ値の逆直列化 / 直列化に使用されるRedisSerializationContext.SerializationPairを定義します。booleanwithConversionService(ConversionService conversionService) キャッシュキーからStringSE への変換に使用されるConversionServiceを定義します。
フィールドの詳細
DEFAULT_CACHE_NULL_VALUES
protected static final boolean DEFAULT_CACHE_NULL_VALUES- 関連事項:
DEFAULT_ENABLE_TIME_TO_IDLE_EXPIRATION
protected static final boolean DEFAULT_ENABLE_TIME_TO_IDLE_EXPIRATION- 関連事項:
DEFAULT_USE_PREFIX
protected static final boolean DEFAULT_USE_PREFIX- 関連事項:
DO_NOT_CACHE_NULL_VALUES
protected static final boolean DO_NOT_CACHE_NULL_VALUES- 関連事項:
DO_NOT_USE_PREFIX
protected static final boolean DO_NOT_USE_PREFIX- 関連事項:
USE_TIME_TO_IDLE_EXPIRATION
protected static final boolean USE_TIME_TO_IDLE_EXPIRATION- 関連事項:
方法の詳細
defaultCacheConfig
以下を使用したデフォルトのRedisCacheConfiguration:- キーの有効期限
- 永遠
- null 値をキャッシュする
- はい
- プレフィックスキャッシュキー
- はい
- デフォルト接頭部
- [ 実際のキャッシュ名 ]
- キーシリアライザー
StringRedisSerializer- 値シリアライザー
JdkSerializationRedisSerializer- 変換サービス
defaultキャッシュキーコンバーターを備えたDefaultFormattingConversionService
- 戻り値:
- 新しい
RedisCacheConfiguration。
defaultCacheConfig
以下を使用して、ClassLoaderSE を指定してデフォルトのRedisCacheConfigurationを作成します。- キーの有効期限
- 永遠
- null 値をキャッシュする
- はい
- プレフィックスキャッシュキー
- はい
- デフォルト接頭部
- [ 実際のキャッシュ名 ]
- キーシリアライザー
StringRedisSerializer- 値シリアライザー
JdkSerializationRedisSerializer- 変換サービス
defaultキャッシュキーコンバーターを備えたDefaultFormattingConversionService
- パラメーター:
classLoader-JdkSerializationRedisSerializerによる逆直列化に使用されるClassLoaderSE。- 戻り値:
- 新しい
RedisCacheConfiguration。 - 導入:
- 2.1
prefixCacheNameWith
- パラメーター:
prefix- キャッシュ名の前に付けるプレフィックス。- 戻り値:
- 新しい
RedisCacheConfiguration。 - 導入:
- 2.3
- 関連事項:
computePrefixWith
指定されたCacheKeyPrefixを使用して、関数入力としてキャッシュ名を指定した実際の Redis キーのプレフィックスを計算します。- パラメーター:
cacheKeyPrefix- null であってはなりません。- 戻り値:
- 新しい
RedisCacheConfiguration。 - 導入:
- 2.0.4
- 関連事項:
disableCachingNullValues
null 値のキャッシュを無効にします。
null 値を含むCache.put(Object, Object)操作はエラーになることに注意してください。Redis には何も書き込まれず、何も削除されません。既存のキーは、以前とまったく同じ値でその後も存在します。- 戻り値:
- 新しい
RedisCacheConfiguration。
disableKeyPrefix
キャッシュキープレフィックスの使用を無効にします。
注 :Cache.clear()を使用すると、Redis のキーが意図せず削除される可能性があります。プレフィックスを無効にするときは、必ず専用の Redis インスタンスを使用してください。- 戻り値:
- 新しい
RedisCacheConfiguration。
enableTimeToIdle
Cache.get(Object)などのCache読み取り操作でアイドル時間 (TTI) の有効期限を有効にします。このオプションを有効にすると、
Cache書き込み操作と同じTTL expiration policyからCache読み取り操作が適用されます。実際には、これにより、GET の代わりに Redis GETEX コマンドが呼び出されます。Redis は TTI の概念をサポートせず、TTL のみをサポートします。ただし、TTL 有効期限が読み取りと書き込みの両方のすべての
Cache操作に同様に適用され、有効期限付きで渡されたCache操作がアプリケーション全体で一貫して使用される場合、事実上、アプリケーションは TTI 有効期限のような動作を実現できます。Redis 6.2.0 以降が必要です。
- 戻り値:
- この
RedisCacheConfiguration。 - 導入:
- 3.2.0
- 関連事項:
entryTtl
キャッシュエントリに適用する ttl を設定します。Duration.ZEROSE を使用して、永遠のキャッシュを宣言します。- パラメーター:
ttl- null であってはなりません。- 戻り値:
- 新しい
RedisCacheConfiguration。
entryTtl
TTL functionを設定して、キャッシュエントリの存続時間を計算します。- パラメーター:
ttlFunction- キャッシュエントリの存続時間を計算するためのRedisCacheWriter.TtlFunctionは null であってはなりません。- 戻り値:
- 新しい
RedisCacheConfiguration。 - 導入:
- 3.2
serializeKeysWith
public RedisCacheConfiguration serializeKeysWith(RedisSerializationContext.SerializationPair<StringSE> keySerializationPair) キャッシュキーの逆直列化 / 直列化に使用されるRedisSerializationContext.SerializationPairを定義します。- パラメーター:
keySerializationPair- null であってはなりません。- 戻り値:
- 新しい
RedisCacheConfiguration。
serializeValuesWith
public RedisCacheConfiguration serializeValuesWith(RedisSerializationContext.SerializationPair<?> valueSerializationPair) キャッシュ値の逆直列化 / 直列化に使用されるRedisSerializationContext.SerializationPairを定義します。- パラメーター:
valueSerializationPair- null であってはなりません。- 戻り値:
- 新しい
RedisCacheConfiguration。
withConversionService
キャッシュキーからStringSE への変換に使用されるConversionServiceを定義します。- パラメーター:
conversionService- null であってはなりません。- 戻り値:
- 新しい
RedisCacheConfiguration。
getAllowCacheNullValues
public boolean getAllowCacheNullValues()- 戻り値:
- null のキャッシュが許可されている場合は true。
isTimeToIdleEnabled
public boolean isTimeToIdleEnabled()キャッシュに対してアイドル時間 (TTI) の有効期限が有効になっているかどうかを決定します。enableTimeToIdle()を使用してオプトインし、キャッシュのアイドル時間 (TTI) 有効期限を有効にします。- 戻り値:
- アイドル時間 (TTI) の有効期限が構成され、キャッシュが有効になっている場合は true。デフォルトは false です。
- 導入:
- 3.2.0
- 関連事項:
usePrefix
public boolean usePrefix()- 戻り値:
- キャッシュキーの前に
getKeyPrefixFor(String)が存在する場合は接頭辞を付ける必要がある場合、またはCache.getName()に解決されるデフォルトの場合は true。
getConversionService
- 戻り値:
- キャッシュキーから
StringSE への変換に使用されるConversionService。null になることはありません。
getKeyPrefix
構成されたCacheKeyPrefixを取得します。- 戻り値:
- 構成された
CacheKeyPrefix
getKeyPrefixFor
指定された cacheName の計算されたキープレフィックスを取得します。- 戻り値:
- 決して null にはなりません。
- 導入:
- 2.0.4
getKeySerializationPair
- 戻り値:
- 決して null にはなりません。
getValueSerializationPair
- 戻り値:
- 決して null にはなりません。
getTtl
使用すべきではありません。3.2 以来。代わりにgetTtlFunction()を使用してください。entryTtl(TtlFunction)を使用してRedisCacheWriter.TtlFunctionが構成されている場合は、キャッシュエントリのキー / 値に基づいて計算されたTTL expiration timeoutSE を返します。それ以外の場合、キャッシュ構成中に
entryTtl(Duration)が呼び出された場合は、ユーザー指定の固定DurationSE を返します。- 戻り値:
- 構成された
TTL expirationSE
getTtlFunction
キャッシュキーの有効期限 (TTL) の有効期限を計算するために使用されるRedisCacheWriter.TtlFunctionを取得します。- 戻り値:
RedisCacheWriter.TtlFunctionはキャッシュエントリの有効期限 (TTL) を計算するために使用されます。決して null ではありません。
addCacheKeyConverter
- パラメーター:
cacheKeyConverter-Converterは、キャッシュキーをStringSE に変換するために使用されます。- 例外:
IllegalStateExceptionSE-getConversionService()がConverter登録を許可しない場合。- 導入:
- 2.2
- 関連事項:
configureKeyConverters
キャッシュキーの抽出に使用される基礎となるConversionServiceを構成します。- パラメーター:
registryConsumer-ConsumerSE は、構成されたConverterRegistryにConverterを登録するために使用されます。決して null ではありません。- 例外:
IllegalStateExceptionSE-getConversionService()がConverter登録を許可しない場合。- 導入:
- 2.2
- 関連事項:
registerDefaultConverters
デフォルトのキャッシュkey convertersを登録します。次のコンバーターが登録されます。
- パラメーター:
registry-key convertersが登録されているConverterRegistry。null であってはなりません。- 関連事項: