当我使用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 );
我能做些什么,让第二个例子有效?
答案 0 :(得分:5)
使用driver => “内存”,缓存不会在磁盘上持久存在 - 将驱动程序更改为“文件”或磁盘上的其他内容。