クラス 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 boolean
protected static final boolean
protected static final boolean
protected static final boolean
protected static final boolean
protected static final boolean
メソッドのサマリー
修飾子と型メソッド説明void
addCacheKeyConverter
(Converter<?, StringSE> cacheKeyConverter) computePrefixWith
(CacheKeyPrefix cacheKeyPrefix) 指定されたCacheKeyPrefix
を使用して、関数入力としてキャッシュ名を指定した実際の Redis キーのプレフィックスを計算します。void
configureKeyConverters
(ConsumerSE<ConverterRegistry> registryConsumer) キャッシュキーの抽出に使用される基礎となるConversionService
を構成します。static RedisCacheConfiguration
以下を使用したデフォルトのRedisCacheConfiguration
: キーの有効期限永遠のキャッシュ null 値はいプレフィックスキャッシュキーはいデフォルトのプレフィックス [ 実際のキャッシュ名 ] キーシリアライザーStringRedisSerializer
値シリアライザーJdkSerializationRedisSerializer
変換サービスDefaultFormattingConversionService
とdefault
キャッシュキーコンバーターstatic RedisCacheConfiguration
defaultCacheConfig
(ClassLoaderSE classLoader) 以下を使用して、ClassLoader
SE を指定してデフォルトの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 void
registerDefaultConverters
(ConverterRegistry registry) デフォルトのキャッシュkey converters
を登録します。serializeKeysWith
(RedisSerializationContext.SerializationPair<StringSE> keySerializationPair) キャッシュキーの逆直列化 / 直列化に使用されるRedisSerializationContext.SerializationPair
を定義します。serializeValuesWith
(RedisSerializationContext.SerializationPair<?> valueSerializationPair) キャッシュ値の逆直列化 / 直列化に使用されるRedisSerializationContext.SerializationPair
を定義します。boolean
withConversionService
(ConversionService conversionService) キャッシュキーからString
SE への変換に使用される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
以下を使用して、ClassLoader
SE を指定してデフォルトのRedisCacheConfiguration
を作成します。- キーの有効期限
- 永遠
- null 値をキャッシュする
- はい
- プレフィックスキャッシュキー
- はい
- デフォルト接頭部
- [ 実際のキャッシュ名 ]
- キーシリアライザー
StringRedisSerializer
- 値シリアライザー
JdkSerializationRedisSerializer
- 変換サービス
default
キャッシュキーコンバーターを備えたDefaultFormattingConversionService
- パラメーター:
classLoader
-JdkSerializationRedisSerializer
による逆直列化に使用されるClassLoader
SE。- 戻り値:
- 新しい
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.ZERO
SE を使用して、永遠のキャッシュを宣言します。- パラメーター:
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
キャッシュキーからString
SE への変換に使用される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
- 戻り値:
- キャッシュキーから
String
SE への変換に使用される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 timeout
SE を返します。それ以外の場合、キャッシュ構成中に
entryTtl(Duration)
が呼び出された場合は、ユーザー指定の固定Duration
SE を返します。- 戻り値:
- 構成された
TTL expiration
SE
getTtlFunction
キャッシュキーの有効期限 (TTL) の有効期限を計算するために使用されるRedisCacheWriter.TtlFunction
を取得します。- 戻り値:
RedisCacheWriter.TtlFunction
はキャッシュエントリの有効期限 (TTL) を計算するために使用されます。決して null ではありません。
addCacheKeyConverter
- パラメーター:
cacheKeyConverter
-Converter
は、キャッシュキーをString
SE に変換するために使用されます。- 例外:
IllegalStateExceptionSE
-getConversionService()
がConverter
登録を許可しない場合。- 導入:
- 2.2
- 関連事項:
configureKeyConverters
キャッシュキーの抽出に使用される基礎となるConversionService
を構成します。- パラメーター:
registryConsumer
-Consumer
SE は、構成されたConverterRegistry
にConverter
を登録するために使用されます。決して null ではありません。- 例外:
IllegalStateExceptionSE
-getConversionService()
がConverter
登録を許可しない場合。- 導入:
- 2.2
- 関連事項:
registerDefaultConverters
デフォルトのキャッシュkey converters
を登録します。次のコンバーターが登録されます。
- パラメーター:
registry
-key converters
が登録されているConverterRegistry
。null であってはなりません。- 関連事項: