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 )