The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RedisDB::Sentinel - interface to redis servers managed by sentinel

SYNOPSIS

    use RedisDB::Sentinel;

    my $redis = RedisDB::Sentinel->connect_to_master(
        service => $service_name,
        sentinels => [
            {
                host => 'host1',
                port => 26379
            },
            {
                host => 'host2',
                port => 26379
            },
        ],
    );
    $redis->set( $key, $value );
    my $value = $redis->get($key);

DESCRIPTION

This module provides interface to access redis servers managed by sentinels, it handles communication with sentinels and dispatches commands to the master redis.

METHODS

$class->connect_to_master(%params)

retrieve information about master from sentinel and return RedisDB object connected to master. Additionally sets on_conect_error handler to retrieve information about new master in case of reconnect. Requires two parameters:

service

service name to which you want to connect

sentinels

list of sentinels. Each element is a hash with "host" and "port" elements.

Other parameters are passed as is to constructor of RedisDB object. Note, that host, port, and on_connect_error parameters will be overwritten by RedisDB::Sentinel

AUTHOR

Pavel Shaydo, <zwon at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2011-2021 Pavel Shaydo.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.