Использование нескольких серверов memcache в пуле

Я просматриваю документацию, и я немного смущен тем, как memcache выполняет внутреннюю балансировку нагрузки, если указано несколько серверов. Например:

import memcache mc.set_servers(['127.0.0.1:11211','127.0.0.1:11212',]) mc.set("some_key", "Some value") print mc.get("some_key") 

Будет ли настройка и поиск ключа «some_key» всегда попадающим на тот же сервер? Будет ли автоматически распределяться настройка и выбор альтернативных ключей, таких как «some_key_2» или «some_key_3», среди пула серверов? Что произойдет, если сервер добавлен или удален?

Аналогично, что происходит с get_multi:

 import memcache mc.set_servers(['127.0.0.1:11211','127.0.0.1:11212',]) mc.set_multi({42: 'adams', 46 : 'and of me'}) print mc.get_multi([46, 42]) 

Будет ли это автоматически устанавливать и извлекать каждый ключ с правильного сервера? Нужно ли писать класс-оболочку?

Благодарю.

One Solution collect form web for “Использование нескольких серверов memcache в пуле”

memcached помещает ключи на серверы на основе хэша ключа. Пока настройка вашего сервера не изменится, данный ключ всегда будет располагаться на данном сервере.

  • Установка pylibmc на Ubuntu
  • Изменения кода Django, не отражающие производственный сервер
  • Хорошие примеры использования python-memcache (memcached) в Python?
  • Какой хороший аналог Flask / Python / WSGI для общедоступных хранилищ PHP Apache, таких как apc_store / apc_fetch?
  • Лучшее место для очистки кеша при перезапуске сервера django
  • Какой ключ: хранить значение для использования с Python?
  • Как сказать Django, что memcached работает с размером элемента больше, чем по умолчанию?
  • Должен ли я настраивать «session.lock_dir» Beaker при использовании Memcache на Heroku?
  • Какие шаги необходимы для реализации memcached в приложении Django?
  • как вернуть все memcached значения в Google App Engine?
  • memcache.get возвращает неверный объект (Celery, Django)
  • Python - лучший язык программирования в мире.