Использование Memcache в PHP с ООП - PullRequest
3 голосов
/ 22 февраля 2012

У меня очень тяжелое определение класса, зависящее от MySQL (то есть иногда может быть медленным).

Я успешно установил и начал использовать библиотеку Memcache на PHP. Это позволяет мне хранить целые объекты без необходимости повторного запроса к ним.

Однако я расширил свой класс, чтобы автоматически обновлять базу данных при любых изменениях. Я использую __get и __set для отслеживания изменений, а затем обновляю на __destruct

Я не могу понять, как проверить, вызывается ли __destruct, когда Memcache удаляет объект.

Кто-нибудь знает наверняка / есть предложение о том, как это проверить?

1 Ответ

3 голосов
/ 22 февраля 2012

Нет, memcache не будет разрушать объект. Ваш объект постоянно __sleep()__wakeup()'. Но так как PHP не тот, кто уничтожает или теряет объект, деструктор никогда не вызывается. Есть шанс, что ваша кеширующая библиотека удалит объект из memcache после его истечения и уничтожит объект, вызывая, таким образом, __destruct() .. но это будет зависеть от реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...