на стоковой 2.2 как раз проблем и не было. А проблема появилась на 2.3 офф.
Если будете прошиваться на офф 2.3, то напишите о результатах, появится ли у вас данная бага.
Когда я гуглил, я вообще ничего не смог найти по этой теме, за исключением того, что есть похожая проблема с ММС, когда они перестают уходить. Как решение проблемы там предлогали скрипт/прогу, которая раз в час делала запрос например к гуглу, что не давало инету отвалиться. Сейчас уже не могу найти где про это читал.
В том то и дело, что кеш mysql очень не гибок, и не всегда ясное поведение кеша. Плюс не радужная перспектива выбора между MyISAM и блокировкой на всю таблицу при записи, либо InnoDB и более медленная скорость работы селектов.
Соотношение запросов update/select = 1/10. Специфика приложения такова, что всё что находится в БД, будет использовано в ближайшие время. Не существует старой информации, например, старых новостей, которые никому не потребуются.
Как я понимаю, скорость чтения и записи в memcached намного выше чем в mysql. Так почему бы не использовать память, для хранения информации?
На этот счет у меня есть несколько вариантов:
1) Использовать MEMORY таблицы mysql. Но не думаю что будет работать быстрее чем NoSQL хранилища.
2) Использовать memcached и через определенные промежутки времени делать дампы в mysql(postgres). Привлекает хорошей производительностью и хорошим контролем времени хранения/обновления данных.
3) Использовать Redis. С ним не разу не сталкивался, но возможно стоит задуматься.
Модуль по работе с memcached найти не сложно. А вот модуль для прозрачных запросов — не получилось.
Чтобы не приходилось руками делать запросы сначала к memcached и если не было найденно нужно ключа, делать запрос к mysql и генерить контент, кешируя его.
Хочется обычное действие: my $d = $memd->get($key);
if (!$d)
{
$sth = $dbh->prepare("SELECT * FROM t1 WHERE id=?);
$sth->execute($key);
$d = $sth->fetchall_arrayref({});
$memd->set($key, $d);
}
$d->....
заменить на: my $d = module->select('t1', $key);
$d->....
Понятно, что написать такой модуль, не так сложно, но зачем изобретать велосипеды, если уже возможно существует готовое решение.
К сожалению это работает только если с деревом работать не через Ext.Direct.
Деревья перестают работать если в качестве directFn указана функция, которой необходимо кол-во параметров != 1.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.