I would persist that 3rd party data every 24 hours. Caching it depends on what that data is. Is it a file that needs further processing? Then process it and cache it in memory. And your fail over goes like this: in-memory cache, temp persistent location, 3rd party location.