refactory CacheProvider

refactory CacheProvider and add MethodVisitorHelper