Я новичок в мире кластеров Memcached
Если у меня есть веб-приложение php, использующее memcache - как оно выполняет свой хэш и решает, какой узел проверять на предмет определенного значения, чтобы избежать необходимости проверять их все.
Бонус: как я могу легко добавить узел таким образом, чтобы избежать необходимости перестраивать все хэши.
Клиенты Memcache знают, какой узел проверять, хешируя значение ключа. По умолчанию он использует значение ключа crc32. В старом стиле вы бы сделали что-нибудь вроде
serverId = crc32(key) % servers.size
Это означало, что когда вы добавляли новый узел сервера, большинство вещей было переназначено на другой узел.
В качестве бонуса используйте новый стиль, в котором каждый узел покрывает линейный диапазон значений crc, определяемых случайно выбранным номером сервера, а не каждым N-м значением. Это называется согласованным хешированием.