AnyEvent-InMemoryCache
view release on metacpan or search on metacpan
t/03-tiehash.t view on Meta::CPAN
# Delete baz
is delete $cache{"UNKNOWN"}, undef;
is delete $cache{"baz"}, "piyo";
ok !exists $cache{"baz"};
is scalar keys %cache, 2;
is_deeply [sort keys %cache], [qw(bar foo)];
ok scalar %cache;
# Overwrite bar
(tied %cache)->set(bar => "updated!", "3s");
is $cache{"bar"}, "updated!";
my $w1; $w1 = AE::timer 2, 0, sub{ # 2 seconds later
is scalar keys %cache, 1;
is_deeply [sort keys %cache], [qw(bar)];
ok scalar %cache;
ok !exists $cache{"foo"};
ok exists $cache{"bar"};
is $cache{"bar"}, "updated!";
ok !exists $cache{"baz"};
};
my $w2; $w2 = AE::timer 4, 0, sub{ # 4 seconds later
is scalar keys %cache, 0;
is_deeply [sort keys %cache], [];
is "" . %cache, "0";
ok !%cache;
( run in 0.332 second using v1.01-cache-2.11-cpan-0a6323c29d9 )