
Решил сегодня написать небольшую заметку на тему проблем использования Memcached и Zend Framework. У меня при разработке веб-приложений на основе вышеупомянутой связки возникала всегда одна проблема, которую я решил элегантным и компактным способом. Речь идет о сбое в работе Memcached и как его отловить.
Бывает такое, что Memcached daemon перестает работать и тогда при обычном использовании адаптеров Zend_Cache_Backend Ваш сайт окажется неработоспособным. Но как же отловить такую ситуацию? Ведь при ее возникновении не бросается Exception ошибки подключения или что-то подобное, а только обычный Warning.
Мне очень хотелось для решения данного вопроса использовать кэширование в файлы, как резервного способа снижения нагрузки на сервер, а также поддержки работоспособности сайта.
Для этого я придумал следующее решение:
- после создания объекта Zend_Cache проверяем возможность сохранения в кэш некоторой информации
- если нам не удалось этого сделать, тогда мы создаем еще один экземпляр Zend_Cache, только который работает с файлами
- только тогда мы возвращаем наш объект Zend_Cache
Естественно я приведу небольшой кусочек кода, для лучшего понимания процесса изложенного:
В принципе, на этом все. Теперь у Вас все будет работать безотказно, если же Вы не забудете проверить права на запись в папку кеша для файлов, конечно 

