cache request and update them periodically in background