As is, redis_server/3 does not check the server address. Calls to redis/3 and anything that depend on it are retried after 10ms, doubling on each failure up to one minute. It then keeps trying for a day. You can change these defaults using library(setting).
The question is when to retry and when not. Is a DNS failure sufficiently different from a failed server which may also be permanently failed or inaccessible due to routing or firewall issues.
We could of course let redis_server/3 do a DNS check. On the other hand, a rebooting cluster may not always have its DNS right from the start. A possible intermediate could be to print some or all connect failures as warnings.