Статьи
Портфолио
Друзья
Контакты

Последние статьи

25.08.2010 Блогерам: моральный кодекс в сети 1 коммент.

19.08.2010 «Surviving The Deep End» - Zend Framework. Часть I 1 коммент.

16.08.2010 Приглашается PHP-developer в корпорацию Fozzy Group 3 коммент.

Все

Категории

PHP 2 стат.

Zend Framework 26 стат.

Javascript 3 стат.

Другое 15 стат.

Книги 1 стат.

Украина 1 стат.

Все

RSS

Статьи

Комментарии

Портфолио

Облако тегов

программирование  портфолио  php  zend framework  Zend_Db  Smarty  Zend_Form  паттерны  javascript  niceforms  jQuery  Zend_Mail  веб  Google  Zend_Rest  Zend_View_Helper  zend casts  Zend_View  Zend_Layout  speedUp  интернет  Загрузчик фотографий  Flash  ВКонтакте  zend  localization  zend_translate  gettext  антон шевчук  подарки  Я читаю  Книги  sphinx  релизы  заработок 

Все

Реклама



Статистика



Rambler's Top100

Главная > Статьи > Zend Framework > Memcache и Zend: у Вас "падает" Memcache?
06.07.10 Memcache и Zend: у Вас "падает" Memcache?

 

Cached System

Решил сегодня написать небольшую заметку на тему проблем использования Memcached и Zend Framework. У меня при разработке веб-приложений на основе вышеупомянутой связки возникала всегда одна проблема, которую я решил элегантным и компактным способом. Речь идет о сбое в работе Memcached и как его отловить.

 

Бывает такое, что Memcached daemon перестает работать и тогда при обычном использовании адаптеров Zend_Cache_Backend Ваш сайт окажется неработоспособным. Но как же отловить такую ситуацию? Ведь при ее возникновении не бросается Exception ошибки подключения или что-то подобное, а только обычный Warning.

 

Мне очень хотелось для решения данного вопроса использовать кэширование в файлы, как резервного способа снижения нагрузки на сервер, а также поддержки работоспособности сайта.

 

Для этого я придумал следующее решение:

  • после создания объекта Zend_Cache проверяем возможность сохранения в кэш некоторой информации
  • если нам не удалось этого сделать, тогда мы создаем еще один экземпляр Zend_Cache, только который работает с файлами
  • только тогда мы возвращаем наш объект Zend_Cache

 

Естественно я приведу небольшой кусочек кода, для лучшего понимания процесса изложенного:

 

 

В принципе, на этом все. Теперь у Вас все будет работать безотказно, если же Вы не забудете проверить права на запись в папку кеша для файлов, конечно Подмигивает

Теги:  zend framework, zend_cache, memcache

Другие категории:

■ PHP ■ Zend Framework ■ Javascript ■ Другое ■ Книги ■ Украина
Комментарии к статье
  atukai

06.07.10 17:01:34

Интересный способ. Тоже думал об этом. Есть еще такая штука как Zend_Cache_Backend_TwoLevels. Но она, как я понял, только для дублирования кэша. Хотя было бы удобно, если бы она поддерживала ваш способ

  illusive

06.07.10 17:24:30

Я пробовал воспользоваться Zend_Cache_Backend_TwoLevels, он все-равно не понимает, что Memcache лежит. Поймать Exception не реально - его просто нет. Соответственно проверку я выполнил тестированием возможности записи кеша.
  dnka

28.07.10 23:39:16

Интересное решение... попробую повторить :)

  illusive

29.07.10 11:34:43

И что самое забавное решение еще ни разу не подводило за 2 месяца на интернет-ресурсах. Хотя видно, что мемкеш падал и не раз Смеётся

Дерзайте!

Оставить свой комментарий

 
Статьи | Портфолио | Друзья | Контакты
Идея и мозги: Васильев Андрей © 2008-2010 Web-Blog Кисточка и фантазия: Зелинский Богдан