私はキャッシングメカニズムについて読んでいて、AspectJでSpringCachingを使用してEhCacheのサンプルプロジェクトを作成し、AspectJでSpringCachingを使用してGoogleキャッシュに対してベンチマークしました。私が見つけたものは、私にとって少し驚くべきことです。
注:-Spring Caching つまり、メソッドには @Cacheable/@Caching アノテーションが付けられます。
AspectJ を使用した SpringCaching は高速ですが、AspectJ を使用した Google キャッシュのパフォーマンスは遅くなります。以下は、リクエストの処理にかかった時間の平均です:-
GoogleCacheWithoutAspect
1.262323232 ms
GoogleCacheWithAspect
5.205010101 ms
SpringCachingWithoutAspect
3.08548 ms
SpringCachingWithAspect
2.77782 ms
私は初心者なので、確認したいのですが、AspectJ を Spring Caching で使用する必要があるのはなぜですか。AspectJ はどのようにキャッシングを高速化しますか。
以下の投稿もフォローしていますが、AspectJ が本当にキャッシュのパフォーマンスを向上させるかどうかはまだわかりません。 http://architects.dzone.com/articles/cacheable-overhead-spring-0