add cache

add memory cache