Поскольку рекомендуется сгруппировать связанные ключи, которые часто извлекаются вместе (с помощью multiGet) на одном сервере для оптимальной производительности, у меня есть пара вопросов относительно неявной механики, используемой клиентскими функциями, созданными для этого.
Я видел два разных подхода для обслуживания того, что, как я полагаю, является одной и той же целью с использованием libmemcache (в частности, php-memcached). Первый и наиболее очевидный подход — использовать getByKey/setByKey для сопоставления ключей с серверами, а второй — использовать параметр OPT_PREFIX_KEY (в документации по php есть простой пример в разделе memcached::_construct), который, согласно документации, «используется для создания« домена »для ваших ключей предметов». Предупреждение второго подхода заключается в том, что его можно установить только для каждого экземпляра, что может быть как хорошо, так и плохо.
Так что, если я полностью не ошибаюсь, и эти два подхода на самом деле не служат одной и той же цели; это какое-то явное преимущество для того, чтобы идти с подходом по сравнению с другим?
И пока я обсуждаю эту тему, мой другой вопрос будет следующим: каковы последствия, если таковые имеются, для сопоставления ключей с серверами в сценарии с последовательным хешированием? Я предполагаю, что если узел выйдет из строя, ключ произвольной формы будет просто переназначен на новый сервер без каких-либо проблем.
Спасибо!