У меня есть поисковая система на некоторое время и ничего не нашел.PHP memcache внутренние объекты
При работе с внутренними объектами, такими как DOM или PDO, можно ли их кэшировать с помощью memcache?
Я понимаю, что PDO, вероятно, будет неактуальным, потому что соединение закрыто в конце скрипта - это может быть изменено на постоянные соединения - что делает кеширование более выполнимым ???
Что действительно беспокоит меня, так это отсутствие документации о том, можно ли кэшировать представление объектов DOM в памяти. Файлы конфигурации XML могут быть довольно многословными, и загрузка этих запросов на каждый запрос, построение DOM, вероятно, будет сильно зависеть от ресурсов сервера.
У кого-нибудь есть опыт кеширования, в частности объектов DOM? Должен ли я выбрать PHP-реализацию DOM только для повторного разбора, инициализация DOM не требуется для каждого запроса?
Беспокойство, которое я испытываю при кешировании чего-то вроде соединения с БД (это, таким образом, что-то подключающее к третьей стороне), состоит в том, что логика, чтобы понять, что такое «существует ли соединение», скорее всего, сидит в конструкторе этот случай) PDO класс. Это означает, что, скажем, вы несериализуете объект, вопрос в том, выполняет ли функция unserialise() эти крайние случаи или нет? Если этого не произойдет, у вас будут неприятные сюрпризы. Лично я бы предпочел. Какова ваша основная причина для его кэширования, есть ли у вас достаточно высокая производительность в кэшировании чего-то подобного? – Sarel
Функции serialize/unserialize не обрабатывают граничные случаи. Вам нужно определить, как ваши объекты могут быть сериализованы путем реализации интерфейса Serializable, или если они могут быть правильно сериализованы, скажем, если у них есть только общедоступные свойства, вы реализуете метод __wakeup, чтобы восстановить соединение самостоятельно. Я не думаю, что кеширование экземпляра PDO может привести к увеличению производительности. То, что вы хотите кэшировать, - это большие структуры данных или большие строки, для которых требуется время обработки. – epicdev
Я не должен был упоминать PDO вообще, мой интерес заключается в кешировании XML из-за накладных расходов на загрузку/синтаксический анализ больших XML-файлов; будь то конфиг или шаблоны для некоторых других функций, таких как шаблонирование. –