Zend_Db_Table загрузка данных в ОЗУ

masp

Новичок
Zend_Db_Table загрузка данных в ОЗУ

Собственно говоря в проекте есть небольшая таблица, к которой идет частое обращение для извлечения данных. Для оптимизации приложения было бы здорово всю таблицу целиком залить в оперативную память и извлекать данные уже из нее, не обращаясь к MySQL (при этом обеспечив унифицированность подхода). Оптимальным и эффективным вариантом было бы, думаю, переопределить дочерний класс Zend_Db_Table_Abstract и реализовать в нем свою логику (в конструкторе, например, извелакть данные из таблицы в массив строк и затем фетчить их из этого массива), вопрос только в том, как это сделать наиболее ефективно? Может кто-то уже сталкивался с такой проблемой и имеет ефективные пути решения?
 

FreeSpace

Чукча-читатель
Зачем кэшировать "сырые" данные, для работы с которыми по сути нужно будет написать собственную СУБД с парсером SQL (для выполнения условий WHERE, джойнов и т.д.)?
Проще кэшировать уже результаты запросов, а лучше - сериализированные объекты, которые созданы по этим запросам.
 

masp

Новичок
FreeSpace
В данный момент как раз у меня и реализовано пока все через Zend_Cache компонент, который кешировует извлеченные данные.
нужно будет написать собственную СУБД с парсером SQL (для выполнения условий WHERE, джойнов и т.д.)
- этого делать не нужно, поскольку от таблицы требуется только простой WHERE запрос.

лучше - сериализированные объекты, которые созданы по этим запросам.
- можно по-подробнее про это?
 

FreeSpace

Чукча-читатель
По-подробнее: Сериализацию объектов можно применить в том случае, когда полученные данные из базы данных используются для создания объектов - что в принципе очевидно, иначе нечего сериализировать :)

Например, получили из БД список из пяти последних новостей, создали коллекцию из пяти объектов класса News, а уже эту коллекцию сериализировали и закэшировали. При следующих запросах достаточно извлечь эту коллекцию из кэша и работать с ней. Пока кэш не устареет или мы сами его принудительно не очистим при любых изменениях в списке новостей. Но это уже нюансы реализации...
 

masp

Новичок
FreeSpace
Ясно, в моем случае это не актуально, поскольку я не создаю объекты по данным, полученным из таблицы. Пока остановился на Zend_Cache и кеширую результаты запроса. Прирост 20%.
 
Сверху