Is there a DNS cache that can automatically re-resolve its cache around the TTL timeout?

Solution 1:

Most Caching servers have the ability to fetch resources that are due to expire in unbound this feature is called prefetch

prefetch: yes or no

If yes, message cache elements are prefetched before they expire to keep the cache up to date. Default is no. Turning it on gives about 10 percent more traffic and load on the machine, but popular items do not expire from the cache.

RFC 8767 also allows caches to return expired data if they are unable to refresh there cache. one can enable this in unbound with

serve-expired-client-timeout: msec

Time in milliseconds before replying to the client with expired data. This essentially enables the serve-stale behavior as specified in RFC 8767 that first tries to resolve before immedi- ately responding with expired data. A recommended value per RFC 8767 is 1800. Setting this to 0 will disable this behavior. Default is 0.

bind prefetch isc post on serve-stale