Чтобы получить желаемый эффект, вам нужно проделать определенную работу. Вместо этого я бы рекомендовал использовать Membase с включенной репликацией и отключенным постоянством для достижения того же эффекта. Но сначала позвольте мне объяснить:
В клиентах Memcached и Memcache хэш ключа определяет, какой сервер memcache хранит данные. То, какой сервер хранит данные, действительно зависит от ключа.
Memcached позволяет параметру иметь согласованное хеширование (Memcached :: DISTRIBUTION_CONSISTENT или Memcached :: OPT_LIBKETAMA_COMPATIBLE), чтобы в случае сбоя сервера memache или добавления сервера не все данные переставлялись
Не рекомендуется, но ...
Чтобы достичь желаемого эффекта (неэффективно), используйте последовательное хеширование и:
1.) Проверьте, не работает ли сервер. Создайте объект Memcache (d), используя только рассматриваемый сервер, и сохраните и извлеките с него случайный фрагмент данных. Если это работает, это работает.
2.) Возьмите свои рабочие серверы и добавьте их в список серверов при создании объекта Memcached.
3.) Наслаждайтесь!
PS: По мере того, как серверы увеличиваются и уменьшаются, ваш коэффициент кеша также будет падать.