AOP for cache