Extract the retrieving of data from the price fetchers
Split up the book detail fetching into smaller chunks
Cache the book details in redis
Tidy up the book details caching
Cache the book prices too