Start to add caching

Signed-off-by: Wu Xudong <tikiet@gmail.com>