Я буду использовать memcache (а не memcacheD) для моего PHP-приложения. У меня мало путаницы.
Я нашел этот класс оболочки для memcache.
1) Как и при подключении, он добавляет все серверы, чтобы тянуть. Если это будет сделано при каждом отдельном запросе, это не замедлит постоянную причину латентности сети?
2) если в пуле есть 2 сервера, а один – в автономном режиме, все равно будет сделан на автономный сервер? Нет другого способа автоматически удалить автономный сервер из memcache? Если нет, то что делает настройка memcache.allow_failover = 1?
3) Есть ли способ увидеть, сколько запросов кеша было подано с помощью сервера memcache?
Любой API-интерфейс memcache будет работать. Вы даже можете создавать свои собственные методы PHP CURL.
Нет. Когда приложение делает запрос, оно пытается подключиться к одному серверу и «go-fish» на следующий сервер при сбое, NOT_FOUND, timeout и tc. Может быть какая-то задержка в сети, но намного меньше, чем взаимодействие с базой данных. Если вы заинтересованы в I / O & latency, вы должны иметь возможность архитектовать простое решение в ваших приложениях.
Вам решать. Хотя система не работает, ваше приложение все еще может пытаться подключиться к нему. Если вы решили использовать API-интерфейс memcache PECL, ваши приложения должны иметь возможность определить, нормально ли работает memcached на любом данном сервере. Memcache :: checkServerStatus
Это делает именно то, что он говорит. Если у вас есть серверы memcached A , B и D. И сервер A идет вниз. Оба варианта выдадут USER_NOTICE; однако memcache.allow_failover=1
будет продолжаться до сервера B и разрешает чтение и запись. Когда memcache.allow_failover=0
все входы ввода memcache будут возвращать ложно изящно .
Оформить заказ документов .
Memcached предлагает команду stats
, а memcache PECL также предоставляет метод состояния . Однако они связаны с статистикой памяти / сляба. Если вам нужен отчет о мониторинге использования, ознакомьтесь с новой реликвией