.. _resolver-caching:
Resolver Caching Classes
========================
The dnspython resolver does not cache by default, but caching can be
enabled by creating a cache and assigning it to the resolver's *cache*
attribute. If a cache has been configured, the resolver caches both
positive and negative responses. The cache respects the DNS TTL of
the data, and will not return expired entries.
Two thread-safe cache implementations are provided, a simple
dictionary-based Cache, and an LRUCache which provides cache size
control suitable for use in web crawlers. Both are subclasses of
a common base class which provides basic statistics. The LRUCache can
also provide a hits count per cache entry.
.. autoclass:: dns.resolver.CacheBase
:members:
.. autoclass:: dns.resolver.Cache
:members:
.. autoclass:: dns.resolver.LRUCache
:members:
.. autoclass:: dns.resolver.CacheStatistics
:members: