WWW :: Mechanize :: Cached - 问题

时间:2011-03-09 15:15:08

标签: perl caching www-mechanize

当我使用WWW::Mechanize::Cached默认值时,一切正常。

#!/usr/bin/env perl
use warnings;
use 5.012;
use WWW::Mechanize::Cached;

my $uri = 'http://www.some_address';
my $mech = WWW::Mechanize::Cached->new();
$mech->show_progress( 1 );
$mech->get( $uri );

但是当我试图变得聪明并且选择我自己的论点时,似乎缓存不起作用:每次运行脚本时我都有网络流量而没有及时获得。

#!/usr/bin/env perl
use warnings;
use 5.012;
use Cwd qw(realpath);
use WWW::Mechanize::Cached;
use CHI;

my $uri = 'http://www.some_address';

my $cache = CHI->new( namespace => realpath($0), driver => 'Memory',
expires_in => '60 min', expires_variance => 0.25, global => 1 );
my $mech = WWW::Mechanize::Cached->new( cache => $cache );

$mech->show_progress( 1 );
$mech->get( $uri );

我能做些什么,让第二个例子有效?

1 个答案:

答案 0 :(得分:5)

使用driver => “内存”,缓存不会在磁盘上持久存在 - 将驱动程序更改为“文件”或磁盘上的其他内容。