インターフェース RedisCacheWriter
- すべてのスーパーインターフェース:
CacheStatisticsProvider
RedisCacheWriter は、キャッシュに使用される Redis コマンド (SET, SETNX, GET, EXPIRE,...) への低レベルのアクセスを提供します。RedisCacheWriter は複数のキャッシュ実装で共有でき、Redis との間でバイナリデータの読み取り / 書き込みを行います。実装では、設定されている可能性のあるキャッシュロックフラグが考慮されます。
デフォルトの RedisCacheWriter 実装は、パフォーマンス動作を調整するために BatchStrategy でカスタマイズできます。
- 導入:
- 2.0
- 作成者:
- Christoph Strobl, Mark Paluch, John Blum
ネストされたクラスの概要
ネストされたクラス方法の概要
修飾子と型メソッド説明void指定されたパターンに従ってすべてのキーを削除します。voidclearStatistics(StringSE name) このキャッシュのすべての統計カウンターとゲージをリセットします。byte[]指定されたキーに格納されている Redis からバイナリ値表現を取得します。default byte[]get(StringSE name, byte[] key, DurationSE ttl) 指定されたキーに格納されている Redis からバイナリ値表現を取得し、指定されたTTL expirationSE をキャッシュエントリに設定します。default byte[]get(StringSE name, byte[] key, SupplierSE<byte[]> valueLoader, DurationSE ttl, boolean timeToIdleEnabled) 指定されたキーに格納されている Redis からバイナリ値表現を取得し、キャッシュエントリに指定されたTTL expirationSE を設定し、必要に応じてvalueLoaderから値を取得します。static RedisCacheWriterlockingRedisCacheWriter(RedisConnectionFactory connectionFactory) ロック動作を備えた新しいRedisCacheWriterを作成します。static RedisCacheWriterlockingRedisCacheWriter(RedisConnectionFactory connectionFactory, DurationSE sleepTime, RedisCacheWriter.TtlFunction lockTtlFunction, BatchStrategy batchStrategy) ロック動作を備えた新しいRedisCacheWriterを作成します。static RedisCacheWriterlockingRedisCacheWriter(RedisConnectionFactory connectionFactory, BatchStrategy batchStrategy) ロック動作を備えた新しいRedisCacheWriterを作成します。static RedisCacheWriternonLockingRedisCacheWriter(RedisConnectionFactory connectionFactory) ロック動作なしで新しいRedisCacheWriterを作成します。static RedisCacheWriternonLockingRedisCacheWriter(RedisConnectionFactory connectionFactory, BatchStrategy batchStrategy) ロック動作なしで新しいRedisCacheWriterを作成します。voidput(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 expirationSE をキャッシュエントリに設定します。- パラメーター:
name- null であってはなりません。key- null であってはなりません。ttl-DurationSE は、キャッシュエントリの有効期限タイムアウトを指定します。- 戻り値:
- キーが存在しないか期限切れの場合は null。
get
default byte[] get(StringSE name, byte[] key, SupplierSE<byte[]> valueLoader, @Nullable DurationSE ttl, boolean timeToIdleEnabled) 指定されたキーに格納されている Redis からバイナリ値表現を取得し、キャッシュエントリに指定されたTTL expirationSE を設定し、必要に応じてvalueLoaderから値を取得します。可能であれば(ロック用に構成されている場合)、実装では、同じキーへの同時アクセスの場合に指定された
valueLoaderが 1 回だけ呼び出されるように、ロード操作が同期されるようにする必要があります。- パラメーター:
name- null であってはなりません。key- null であってはなりません。valueLoader- キャッシュ検索が成功しなかった場合に値を作成する値ローダー。ttl-DurationSE は、キャッシュエントリの有効期限タイムアウトを指定します。timeToIdleEnabled- 値を取得するときにアイドル時間を有効にするには true にします。- 導入:
- 3.4
supportsAsyncRetrieve
default boolean supportsAsyncRetrieve()非同期retrieve(String, byte[])およびretrieve(String, byte[], Duration)キャッシュ操作が実装でサポートされているかどうかを決定します。取得操作をサポートできるかどうかの主な要素は、主に実行時に使用される Redis ドライバーによって決まります。
デフォルトでは false を返します。これには、
RedisCache.retrieve(Object)およびRedisCache.retrieve(Object, Supplier)がUnsupportedOperationExceptionSE をスローする効果があります。- 戻り値:
- 非同期取得操作が実装でサポートされている場合は true。
- 導入:
- 3.2
retrieve
- パラメーター:
name-StringSE とRedisCacheの名前。key-keyはRedisCache内のvalueSE にマップされます。- 戻り値:
RedisCacheが指定されたkeyをマップするvalueSE。- 導入:
- 3.2
- 関連事項:
retrieve
- パラメーター:
name-StringSE とRedisCacheの名前。key-keyはRedisCache内のvalueSE にマップされます。ttl-DurationSE は、キャッシュエントリの有効期限タイムアウトを指定します。- 戻り値:
RedisCacheが指定されたkeyをマップするvalueSE。- 導入:
- 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の新しいインスタンス。