Apache-Session-libmemcached

 view release on metacpan or  search on metacpan

lib/Apache/Session/Store/libmemcached.pm  view on Meta::CPAN

    if ($sid && length($sid) && $args->{load_balance_pools}) {
        $num_pools = scalar(@{$args->{load_balance_pools}});
        $idx = hex(substr($sid, 0, 1)) % $num_pools;
        @alternative_pools = map { $_ != $idx } 0..($num_pools - 1);
    }
    return ($idx, @alternative_pools);
}

=head2 _update_pools

Private method to return which pools must be updated.

If failover is not enabled only one pool is returned.
Otherwise the designated pool will be returned.

=cut

sub _update_pools
{
    my ($self, $session) = @_;

t/01-cache.t  view on Meta::CPAN

tie %{$session}, 'Apache::Session::libmemcached', $sid, {
    servers => ['1.2.3.4:1200'],
    expiration => '300',
};
ok($session->{foo} eq 'bar');

# Update session info
$session->{foo} = 'baz';
untie %{$session};

# Test we can retrieve updated session info
tie %{$session}, 'Apache::Session::libmemcached', $sid, {
    servers => ['1.2.3.4:1200'],
    expiration => '300',
};
ok($session->{foo} eq 'baz');

# Delete session info
delete $session->{foo};
untie %{$session};



( run in 0.289 second using v1.01-cache-2.11-cpan-05444aca049 )