Кластер Tokyo Cabinet и PHP (через memcache)

У меня есть 2 сервера с токийским кабинетом в кластере (2 жестких диска, поэтому 4 экземпляра токийского кабинета). если это всего лишь один экземпляр токийского кабинета, довольно просто использовать протокол php memcache для связи. Мой вопрос, как вы подключаете php, если это кластер?

Вариант 1: $memcache->connect('memcache_host', 11211); Используя эту опцию, вы можете подключиться только к экземпляру токийского кабинета.

Вариант 2: $memcache = новый Memcache; $memcache->addServer('memcache_host', 11211); $memcache->addServer('memcache_host2', 11211); Используя это, вы можете подключиться к нескольким, но правильно ли данные хранятся в кластере?

Спасибо!


person Patrick    schedule 04.01.2010    source источник


Ответы (1)


Используйте вариант 2 и позвольте клиентской библиотеке делать свое дело. Вы можете быть уверены, что ваши данные будут распределены по всем экземплярам memcached в пуле.

Вы можете взглянуть на библиотеку PHP Memcached (обратите внимание на букву D в конце ), у него есть несколько полезных функций, которыми вы можете воспользоваться (у него другой алгоритм распределения данных, который может оказаться полезным).

person Miha Hribar    schedule 11.01.2010
comment
Но разве библиотека PHP memcached не используется для хранения непостоянных данных? (имеет срок годности). Вы просто устанавливаете его на 0 для токийского кабинета или это не имеет значения? - person Patrick; 19.01.2010