2015-08-27 5 views
0

У меня есть приложение cakephp. И использование Redis для управления кешем. В config->bootstrap.php я используюКак сохранить работу сайта, если сервер кеша (redis) не удалось

Cache::config('default', array('engine' => 'Redis')) 

Если Redis идет вниз, мой сайт down.I хочет сохранить жизнь моего сайта, если Redis вниз. какой конфигурации мне нужно делать.

Должен ли я использовать попытку catch в bootstrap.php? Как настройка engine=>File, если redis не найден ??

Но кеш файлов очень медленный.

Помощь будут оценены :)

+0

Redis, обычно не крах - так что, если это сбой есть реальная проблема исправить. Вы можете попробовать/поймать и использовать хранилище резервных копий - я бы предложил использовать [нулевой движок] (https://github.com/cakephp/cakephp/blob/master/src/Cache/Engine/NullEngine.php), потому что количество времени redis вне форума должно быть 1) очень мало 2) болезненно очевидно для вас, что вам нужно что-то сделать. – AD7six

ответ

1

Простой, как: Не позволяйте Redis аварии и выяснить, почему он держит сбой. Вы хотите обойти симптомы, но не решить настоящую проблему. Реальная проблема - это аварийный сервер Redis, поэтому исправьте это.

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

1

Если сервер Redis аварийно завершает работу, у вас есть механизм пропустить сервер кэша Redis. Мол,

if(redis.isDown()){ 
    //call db directly. 
} else { 
    //call redis server 
}