WWW :: Mechanize :: Cached - вопрос - PullRequest
1 голос
/ 09 марта 2011

Когда я использую 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 Ответ

5 голосов
/ 09 марта 2011

С драйвером => «Память», кэш не будет сохраняться на диске - замените драйвер на «Файл» или что-то еще, находящееся на диске.

...