残りのAPIアプリケーションがあります。API レスポンスのキャッシュと内部メソッドのキャッシュには redis を使用します。redis 接続の場合、API がダウンしています。API をダウンさせる代わりに、redis 接続が失敗したり例外が発生した場合に、redis キャッシュをバイパスしたいと考えています。インターフェイス CacheErrorHandler がありますが、redis 接続の問題ではなく、redis get set 操作の失敗を処理します。Spring 4.1.2 を使用しています。
16414 次
7 に答える
7
それで、私は今日別の質問に対処するコア Spring Framework キャッシング抽象化ソースを掘り下げていました. null 値が返されます)。
詳細については、AbstractCacheInvokerのソースを参照してください。
Redis 接続のcache.get(key)
障害が原因で例外が発生するため、例外ハンドラーが呼び出されます...
catch (RuntimeException e) {
getErrorHandler().handleCacheGetError(e, cache, key);
return null; // If the exception is handled, return a cache miss
}
CacheErrorHandler がキャッシュの「取得」エラーを適切に処理する (そして例外を再スローしない) 場合、キャッシュの「ミス」を示す null 値が返されます。
于 2015-03-30T18:30:01.643 に答える