Redisキャッシュインターセプターをカスタマイズする方法
Redis キャッシュインターセプターのカスタマイズ手順は以下のとおりです。
- ハンドラインターセプターインターフェースを実装したカスタムクラスを作成し、preHandle、postHandle、およびafterCompletionの3つのメソッドをオーバーライドします。
- preHandleメソッドで、リクエストのURLやリクエストパラメータなどのリクエストに関する情報を取得します。
- リクエストされたURLとパラメータから、ユニークなキャッシュキーを生成する
- キャッシュ内に指定されたKeyのデータが存在するか判断し、存在すればキャッシュからデータを取得して返却する。存在しない場合、以降のリクエスト処理フローを実行する。
- postHandleメソッドで処理結果をRedisキャッシュに格納し、Key-Valueの形式で格納します。Keyは先に生成されたキャッシュKeyで、Valueは処理結果です。
- afterCompletionメソッドではリソースの解放などのクリーンアップ操作を実行します。
- Spring Boot の設定クラスで、カスタムのインターセプタをインターセプタチェーンに登録する。
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private CustomRedisCacheInterceptor customRedisCacheInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(customRedisCacheInterceptor);
}
}
以上のステップにより、Redisキャッシュインターセプターをカスタマイズして、要求がコントローラーに到着する前にキャッシュからデータを取得し、システムのパフォーマンスと応答速度を向上させることができます。