1. A method in a first communication client device, comprising: receiving a request to resolve an address for a domain name corresponding to a second communication device; accessing a time-to-live (TTL)-based cache of the first communication client device for the address; accessing a negative cache of the first communication client device for a negative entry corresponding to the domain name if the address is not present in the TTL-based cache; accessing a long term store cache of the first communication client device for the address if the negative entry is present in the negative cache, wherein the long term store cache is configured to store addresses corresponding to respective domain names for an indefinite time period; and enabling a communication signal to be transmitted to the second communication device according to the address if the address is present in at least one of the TTL-based cache or the long term store cache.