get data and cache
get data and cache