インターフェース RedisCacheWriter
- すべてのスーパーインターフェース:
CacheStatisticsProvider
RedisCacheWriter
は、キャッシュに使用される Redis コマンド (SET, SETNX, GET, EXPIRE,...
) への低レベルのアクセスを提供します。RedisCacheWriter
は複数のキャッシュ実装で共有でき、Redis との間でバイナリデータの読み取り / 書き込みを行います。実装では、設定されている可能性のあるキャッシュロックフラグが考慮されます。
デフォルトの RedisCacheWriter
実装は、パフォーマンス動作を調整するために BatchStrategy
でカスタマイズできます。
- 導入:
- 2.0
- 作成者:
- Christoph Strobl, Mark Paluch, John Blum
ネストされたクラスのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
指定されたパターンに従ってすべてのキーを削除します。void
clearStatistics
(StringSE name) このキャッシュのすべての統計カウンターとゲージをリセットします。byte[]
指定されたキーに格納されている Redis からバイナリ値表現を取得します。default byte[]
get
(StringSE name, byte[] key, DurationSE ttl) 指定されたキーに格納されている Redis からバイナリ値表現を取得し、指定されたTTL expiration
SE をキャッシュエントリに設定します。default byte[]
get
(StringSE name, byte[] key, SupplierSE<byte[]> valueLoader, DurationSE ttl, boolean timeToIdleEnabled) 指定されたキーに格納されている Redis からバイナリ値表現を取得し、キャッシュエントリに指定されたTTL expiration
SE を設定し、必要に応じてvalueLoader
から値を取得します。static RedisCacheWriter
lockingRedisCacheWriter
(RedisConnectionFactory connectionFactory) ロック動作を備えた新しいRedisCacheWriter
を作成します。static RedisCacheWriter
lockingRedisCacheWriter
(RedisConnectionFactory connectionFactory, DurationSE sleepTime, RedisCacheWriter.TtlFunction lockTtlFunction, BatchStrategy batchStrategy) ロック動作を備えた新しいRedisCacheWriter
を作成します。static RedisCacheWriter
lockingRedisCacheWriter
(RedisConnectionFactory connectionFactory, BatchStrategy batchStrategy) ロック動作を備えた新しいRedisCacheWriter
を作成します。static RedisCacheWriter
nonLockingRedisCacheWriter
(RedisConnectionFactory connectionFactory) ロック動作なしで新しいRedisCacheWriter
を作成します。static RedisCacheWriter
nonLockingRedisCacheWriter
(RedisConnectionFactory connectionFactory, BatchStrategy batchStrategy) ロック動作なしで新しいRedisCacheWriter
を作成します。void
put
(StringSE name, byte[] key, byte[] value, DurationSE ttl) 指定されたキーと値のペアを Redis に書き込み、有効期限が定義されている場合はそれを設定します。byte[]
putIfAbsent
(StringSE name, byte[] key, byte[] value, DurationSE ttl) キーがまだ存在しない場合は、指定された値を Redis に書き込みます。void
指定されたキーを Redis から削除します。default CompletableFutureSE<byte[]>
CompletableFutureSE<byte[]>
retrieve
(StringSE name, byte[] key, DurationSE ttl) store
(StringSE name, byte[] key, byte[] value, DurationSE ttl) 指定されたキーと値のペアを Redis に非同期的に保存し、定義されている場合は有効期限を設定します。default boolean
非同期retrieve(String, byte[])
およびretrieve(String, byte[], Duration)
キャッシュ操作が実装でサポートされているかどうかを決定します。withStatisticsCollector
(CacheStatisticsCollector cacheStatisticsCollector) 指定されたCacheStatisticsCollector
を使用してRedisCacheWriter
を取得し、メトリクスを収集します。インターフェース org.springframework.data.redis.cache.CacheStatisticsProvider から継承されたメソッド
getCacheStatistics
メソッドの詳細
nonLockingRedisCacheWriter
ロック動作なしで新しいRedisCacheWriter
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。- 戻り値:
DefaultRedisCacheWriter
の新しいインスタンス。
nonLockingRedisCacheWriter
static RedisCacheWriter nonLockingRedisCacheWriter(RedisConnectionFactory connectionFactory, BatchStrategy batchStrategy) ロック動作なしで新しいRedisCacheWriter
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。batchStrategy
- null であってはなりません。- 戻り値:
DefaultRedisCacheWriter
の新しいインスタンス。- 導入:
- 2.6
lockingRedisCacheWriter
ロック動作を備えた新しいRedisCacheWriter
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。- 戻り値:
DefaultRedisCacheWriter
の新しいインスタンス。
lockingRedisCacheWriter
static RedisCacheWriter lockingRedisCacheWriter(RedisConnectionFactory connectionFactory, BatchStrategy batchStrategy) ロック動作を備えた新しいRedisCacheWriter
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。batchStrategy
- null であってはなりません。- 戻り値:
DefaultRedisCacheWriter
の新しいインスタンス。- 導入:
- 2.6
lockingRedisCacheWriter
static RedisCacheWriter lockingRedisCacheWriter(RedisConnectionFactory connectionFactory, DurationSE sleepTime, RedisCacheWriter.TtlFunction lockTtlFunction, BatchStrategy batchStrategy) ロック動作を備えた新しいRedisCacheWriter
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。sleepTime
- ロックアクセス試行間のスリープ時間は null であってはなりません。lockTtlFunction
- ロック TTL を計算する TTL 関数。この関数は、コンテキストキーと値 (クリーンアップ時のキャッシュ名や書き込みリクエスト時の実際のキー / 値など) を使用して呼び出されます。null であってはなりません。batchStrategy
- null であってはなりません。- 戻り値:
DefaultRedisCacheWriter
の新しいインスタンス。- 導入:
- 3.2
get
指定されたキーに格納されている Redis からバイナリ値表現を取得します。- パラメーター:
name
- null であってはなりません。key
- null であってはなりません。- 戻り値:
- キーが存在しない場合は null。
- 関連事項:
get
指定されたキーに格納されている Redis からバイナリ値表現を取得し、指定されたTTL expiration
SE をキャッシュエントリに設定します。- パラメーター:
name
- null であってはなりません。key
- null であってはなりません。ttl
-Duration
SE は、キャッシュエントリの有効期限タイムアウトを指定します。- 戻り値:
- キーが存在しないか期限切れの場合は null。
get
default byte[] get(StringSE name, byte[] key, SupplierSE<byte[]> valueLoader, @Nullable DurationSE ttl, boolean timeToIdleEnabled) 指定されたキーに格納されている Redis からバイナリ値表現を取得し、キャッシュエントリに指定されたTTL expiration
SE を設定し、必要に応じてvalueLoader
から値を取得します。可能であれば(ロック用に構成されている場合)、実装では、同じキーへの同時アクセスの場合に指定された
valueLoader
が 1 回だけ呼び出されるように、ロード操作が同期されるようにする必要があります。- パラメーター:
name
- null であってはなりません。key
- null であってはなりません。valueLoader
- キャッシュ検索が成功しなかった場合に値を作成する値ローダー。ttl
-Duration
SE は、キャッシュエントリの有効期限タイムアウトを指定します。timeToIdleEnabled
- 値を取得するときにアイドル時間を有効にするには true にします。- 導入:
- 3.4
supportsAsyncRetrieve
default boolean supportsAsyncRetrieve()非同期retrieve(String, byte[])
およびretrieve(String, byte[], Duration)
キャッシュ操作が実装でサポートされているかどうかを決定します。取得操作をサポートできるかどうかの主な要素は、主に実行時に使用される Redis ドライバーによって決まります。
デフォルトでは false を返します。これには、
RedisCache.retrieve(Object)
およびRedisCache.retrieve(Object, Supplier)
がUnsupportedOperationException
SE をスローする効果があります。- 戻り値:
- 非同期取得操作が実装でサポートされている場合は true。
- 導入:
- 3.2
retrieve
- パラメーター:
name
-String
SE とRedisCache
の名前。key
-key
はRedisCache
内のvalue
SE にマップされます。- 戻り値:
RedisCache
が指定されたkey
をマップするvalue
SE。- 導入:
- 3.2
- 関連事項:
retrieve
- パラメーター:
name
-String
SE とRedisCache
の名前。key
-key
はRedisCache
内のvalue
SE にマップされます。ttl
-Duration
SE は、キャッシュエントリの有効期限タイムアウトを指定します。- 戻り値:
RedisCache
が指定されたkey
をマップするvalue
SE。- 導入:
- 3.2
put
指定されたキーと値のペアを Redis に書き込み、有効期限が定義されている場合はそれを設定します。- パラメーター:
name
- キャッシュ名は null にできません。key
- キャッシュエントリのキー。null にすることはできません。value
- キーに保存された値。null にすることはできません。ttl
- オプションの有効期限。null にすることもできます。
store
CompletableFutureSE<VoidSE> store(StringSE name, byte[] key, byte[] value, @Nullable DurationSE ttl) 指定されたキーと値のペアを Redis に非同期的に保存し、定義されている場合は有効期限を設定します。この操作はノンブロッキングです。
- パラメーター:
name
- キャッシュ名は null にできません。key
- キャッシュエントリのキー。null にすることはできません。value
- キーに保存された値。null にすることはできません。ttl
- オプションの有効期限。null にすることもできます。- 導入:
- 3.2
putIfAbsent
キーがまだ存在しない場合は、指定された値を Redis に書き込みます。- パラメーター:
name
- キャッシュ名は null にできません。key
- キャッシュエントリのキー。null にすることはできません。value
- キーに保存された値。null にすることはできません。ttl
- オプションの有効期限。null にすることもできます。- 戻り値:
- 値が書き込まれている場合は null、キーがすでに存在する場合はキーに保存されている値。
remove
指定されたキーを Redis から削除します。- パラメーター:
name
- キャッシュ名は null にできません。key
- キャッシュエントリのキー。null にすることはできません。
clean
指定されたパターンに従ってすべてのキーを削除します。- パラメーター:
name
- キャッシュ名は null にできません。pattern
- 削除するキーのパターン。null にすることはできません。
clearStatistics
このキャッシュのすべての統計カウンターとゲージをリセットします。- 導入:
- 2.4
withStatisticsCollector
指定されたCacheStatisticsCollector
を使用してRedisCacheWriter
を取得し、メトリクスを収集します。- パラメーター:
cacheStatisticsCollector
- null であってはなりません。- 戻り値:
RedisCacheWriter
の新しいインスタンス。