В memcache можно хранить следующие значения PHP переменных:
Так «из коробки» работает хранение сессий в PHP. На каждый запрос сессии делаются запросы одновременно на все серверы, после чего из них отбирается самый актуальный ответ (аналогично и на запись).

Тем кто любит в текстовом виде и более разжевано советую почитать блог Андрея Смирнова »
А если нужно несколько серверов для хранения данных приложения (не сессий), то на помощь приходит mcrouter в котором нет репликации в классическом понимании, но данные дублируются.
Пример с 1 mcrouter сервером + 4 подключениями к нему:

Важно: в mcrouter нет репликации в классическом понимании, но данные дублируются:
Во многих случаях, когда кеш развернут в больших масштабах, часто используемые данные считываются огромным количеством клиентов, а серверы memcached рискуют исчерпать соединения. Проблемы могут также возникнуть, когда важные данные должны быть всегда доступны, даже если несколько серверов выходят из строя. Mcrouter решает обе эти проблемы с помощью репликации.
Примечание. Поскольку вы решили использовать кеш, мы предполагаем, что количество операций получения в вашем развертывании намного превышает количество установок и удалений.
Переформулируем задачу. Используя более конкретные термины, мы хотим:
Пример конфигурации:
{
"pools": {
"A": {
"servers": [
// hosts of replicated pool, e.g.:
"127.0.0.1:12345",
"[::1]:12346"
]
}
},
"route": {
"type": "OperationSelectorRoute",
"operation_policies": {
"add": "AllSyncRoute|Pool|A",
"delete": "AllSyncRoute|Pool|A",
"get": "LatestRoute|Pool|A",
"set": "AllSyncRoute|Pool|A"
}
}
}Объяснение : добавления, удаления и наборы отправляются на все хосты в пуле A, а get отправляются на случайный хост в пуле на основе идентификатора хоста mcrouter (таким образом, чтобы разделить нагрузку, вам нужно запустить несколько экземпляров mcrouter). Если запрос на получение терпит неудачу, он автоматически отправляется (повторяется) на другой хост в пуле, затем на другой и так далее. По умолчанию количество попыток равно 5.
Узнайте больше о настройке mcrouter здесь.
Комментарии
Комментариев пока нет.