in-memory cache with timeouts and smart asynchronous fetch