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.302 second using v1.01-cache-2.11-cpan-0a6323c29d9 )