---
name: "AnyEvent::CacheDNS"
section: "3pm"
platform: "linux"
package: "libanyevent-cachedns-perl"
version: "0.08-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AnyEvent::CacheDNS"
---

# AnyEvent::CacheDNS(3pm)

Simple DNS resolver with caching

## NAME

AnyEvent::CacheDNS - Simple DNS resolver with caching

## SYNOPSIS

```
        use AnyEvent;
        use AnyEvent::HTTP;

        # Register our DNS resolver as the default resolver
        use AnyEvent::CacheDNS ':register';

        # Use AnyEvent as ususal
        my $cond = AnyEvent->condvar;
        http_get "http://search.cpan.org/", sub { $cond->send(); };
        $cond->recv();
```

## DESCRIPTION

This module provides a very simple DNS resolver that caches its results and can improve the connection times to remote hosts.

## Import

It's possible to register the this class as AnyEvent's main DNS resolver by passing the tag `":register"` in the `"use"` statement.

## METHODS

### register

Registers a new DNS cache instance as AnyEvent's global DNS resolver.

### ENVIRONMENT

- "PERL\_ANYEVENT\_DNS\_TTL"

  The effect of setting this variable differs depending on AnyEvent version.

  - AnyEvent 5.x

    Default DNS response record cache TTL for older AnyEvent versions. AnyEvent::DNS \<= 6.x doesn't report record TTL and records get cached for infinite amount of time, therefore running programs won't detect if cached DNS records have changed.

    **NOTE**: Setting this variable to `0` disables purging records from cache.

  - AnyEvent 6.x

    Newer versions of AnyEvent report DNS record TTL so records will be purged from the cache after **their** TTL expires. Setting this variable to any positive integer **OVERRIDES** the TTL for all records to the specified value, setting variable to `0` disables purging records from the cache.

## AUTHOR

Emmanuel Rodriguez \<potyl@cpan.org\>

## COPYRIGHT

(C) 2011 Emmanuel Rodriguez - All Rights Reserved.
