Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Сохранение XS объектов в memcache |
Автор: KSURi 21.7.2009, 20:32 |
Привет. Захотелось мне сохранять в memcache распарасенный XML. Для работы с XML в проекте везде используется XML::LibXML, использовать другие модули не хочется. Проблема в том, что сохранять в кэш XS-объекты нельзя( Может кто-то сталкивался? Есть какие-то хаки? |
Автор: gcc 21.7.2009, 21:02 | ||||
может cерилизировать JSon или Storable и сохранить? Добавлено через 6 минут и 41 секунду
|
Автор: arto 22.7.2009, 20:10 |
если объект может самосериализоваться (сохранять внутреннее состояние), то проблем нет. если не может, то можете дописать требуемую функциональность и послать патч мантайнеру. |
Автор: arto 23.7.2009, 09:09 |
ключевое слово "самосериализоваться" |
Автор: sir_nuf_nuf 23.7.2009, 10:05 |
KSURi, конечно нельзя. XS объект - это C структура(ы) которые привязаны к адресам в памяти, для того что бы записать их MC - нужно избавиться от адресной привязки, т.е. сереализовать. В вашем случае XML - это и есть сереализованное представление. Так что храните сам XML а не DOM модель. Парсится медленно - юзайте libxml2. Все равно медленно? не юзайте XML. |
Автор: KSURi 23.7.2009, 10:51 | ||||
Я в курсе)
В первом посте я написал, что юзаю XML::LibXML, который является оберткой к libxml2. "не юзать XML" не получится. В принципе, я уже понял, что придется думать в другую сторону. Вопрос можно считать снятым. |
Автор: sir_nuf_nuf 23.7.2009, 11:00 |
KSURi, можно конечно "расчехлить свой компилер" и написать примочку для libxml2 на C, что бы DOM структуру упаковывала в линейный кусок памяти, а потом обратно. Это будет круто, ибо на такую задачу натыкались кроме вас люди (как минимум я =)). В конце я решил, что 8 тыс. разборов / сереализаций в секунду (для XML на экран размером) - это достаточно быстро, что бы не парится. |
Автор: shamber 24.7.2009, 11:30 |
http://search.cpan.org/~ken/XML-XML2JSON-0.05/lib/XML/XML2JSON.pm не то? |
Автор: sir_nuf_nuf 24.7.2009, 15:47 |
shamber, XML и JSON далеко не эквиваленты. к тому же эта та же самая сереализация. Не думаю, что это намного быстерее чем внутренний механизм libxml2. |