- clean code

Signed-off-by: hearts <hearts.zhang@gmail.com>
- add cache support

Signed-off-by: hearts <hearts.zhang@gmail.com>
Signed-off-by: hearts <hearts.zhang@gmail.com>