NAME
DBIx::DSN::Resolver::Cached - Cached resolver for DBIx::DSN::Resolver
SYNOPSIS
use 5.10.0;
use DBIx::DSN::Resolver::Cached;
sub connect_db {
state $resolver = DBIx::DSN::Resolver::Cached->new(
ttl => 30,
negative_ttl => 5,
);
my $dsn = $resolver->resolv('dbi:mysql:database=mytbl;host=myserver.example');
DBI->connect($dsn,'user','password');
}
DESCRIPTION
DBIx::DSN::Resolver::Cached is extension module of DBIx::DSN::Resolver. This module allows CACHE resolver response, useful for reduce load of DNS. DBIx::DSN::Resolver::Cached also supports DNS-RR
OPTIONS
- ttl: Int
-
positive cache ttl in seconds. (default: 5)
- negative_ttl: Int
-
negative cache ttl in seconds. (default: 1)
- cache: Object
-
Cache object, requires support get and set methods. default: Cache::Memory::Simple is used
FUNCTION
- dsn_resolver($dsn: Str)
-
shortcut function for
state $resolver = DBIx::DSN::Resolver::Cached->new(); $resolver->resolv('dbi:mysql:database=mytbl;host=myserver.example')
To customize ttl, negative_ttl and cache object. override $DBIx::DSN::Resolver::Cached::RESOLVER
my $other_ttl = DBIx::DSN::Resolver::Cached->new( ttl => .. ); sub { local $DBIx::DSN::Resolver::Cached::RESOLVER = $other_ttl; dsn_resolver($dsn); }
AUTHOR
Masahiro Nagano <kazeburo {at} gmail.com>
SEE ALSO
DBIx::DSN::Resolver, Cache::Memory::Simple
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.