[Moscow.pm] Mojolicious/DBI internal cache

devrow на gmail.com devrow на gmail.com
Вт Фев 25 06:28:12 PST 2014


привет!

ситуация в следующем: делаем селект из
базы, видим строку, удаляем эту строку,
в базе ее нет, приложение всеровно отдает
эту строку. т.е. где-то хитро кешируется.
вопрос где и как это отключить?

# mojo version
CORE
   Perl        (v5.12.5, linux)
   Mojolicious (4.72, Top Hat)

$self->renderer->cache->max_keys(0);

и

my $r = $self->routes;
$r->cache->max_keys(0);

не помогает.

коннект делается так:
has db => sub {
  my $self = shift;
  my $dbh = DBI->connect(
     ...
     { RaiseError => 1,
       PrintError => 1,
       AutoCommit => 0,
       mysql_auto_reconnect => 1,
       mysql_enable_utf8 => 1,
       RowCacheSize => 1
     }
);

не совсем уверен что дело именно в можо,
но в DBI то, что управляет кешем - это опция
RowCacheSize, но она также не помогла решить
эту проблему.

то, как запускать, не влияет, пробовал и hypnotoad,
и morbo, plackup - все одно и тоже.

нагуглить ничего не получается, все ведет к мануалу
можо и модулю Mojo::Cache.

просто даже не знаю в каком направлении копать...
остается только запускать как cgi и все.

спасибо.


Подробная информация о списке рассылки Moscow-pm