Cache and batch fetch