Cache-Elasticache-Memcache

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

META.json
META.yml
Makefile.PL
README
cpanfile
dist.ini
lib/Cache/Elasticache/Memcache.pm
maint/carton_install_with_configuredeps.pl
t/author-pod-syntax.t
t/basic.t
t/config_endpoint.t
t/methods.t

README  view on Meta::CPAN

NAME

    Cache::Elasticache::Memcache - A wrapper for Cache::Memacached::Fast
    with support for AWS's auto reconfiguration mechanism

SYNOPSIS

        use Cache::Elasticache::Memcache;
    
        my $memd = new Cache::Elasticache::Memcache->new({
            config_endpoint => 'foo.bar',
            update_period => 180,
            # All other options are passed on to Cache::Memcached::Fast
            ...
        });
    
        # Will update the server list from the configuration endpoint
        $memd->updateServers();
    
        # Will update the serverlist from the configuration endpoint if the time since
        # the last time the server list was checked is greater than the update period
        # specified when the $memd object was created.
        $memd->checkServers();
    
        # Class method to retrieve a server list from a configuration endpoint.
        Cache::Elasticache::Memcache->getServersFromEndpoint('foo.bar');
    
        # All other supported methods are handled by Cache::Memcached::Fast
    
        # N.B. This library is currently under development

DESCRIPTION

    A wrapper for Cache::Memacached::Fast with support for AWS's auto
    reconfiguration mechanism. It makes use of an AWS elasticache memcached
    cluster's configuration endpoint to discover the memcache servers in
    the cluster and periodically check the current server list to adapt to
    a changing cluster.

UNDER DEVELOPMENT DISCALIMER

    N.B. This module is still under development. It should work, but things
    may change under the hood. I plan to imporove the resiliance with
    better timeout handling of communication when updating the server list.
    I'm toying with the idea of making the server list lookup asyncronus,
    however that may add a level of complexity not worth the benefits. Also
    I'm investigating switching to Dist::Milla. I'm open to suggestions,
    ideas and pull requests.

CONSTRUCTOR

        Cache::Elasticache::Memcache->new({
            config_endpoint => 'foo.bar',
            update_period => 180,
            ...
        })

 Constructor parameters

    config_endpoint

      AWS elasticache memcached cluster config endpoint location

    update_period

      The minimum period (in seconds) to wait between updating the server
      list. Defaults to 180 seconds

METHODS

    Supported Cache::Memcached::Fast methods

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.576 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )