Сессия memcached для нескольких серверов Laravel - PullRequest
0 голосов
/ 27 июня 2018

Я хочу, чтобы Laravel использовал все серверы memcached, перечисленные в файле конфигурации, для хранения сессии, потому что теперь он может использовать только один сервер.

Также каждый сеанс должен быть настроен на все серверы и получен, даже если один из серверов не работает.

Я знаю, что сессионная система оборачивает кеш-систему, но я все еще не знаю, с чего начать.

1 Ответ

0 голосов
/ 28 июня 2018

Если вы используете клиент php-memcached, это невозможно сделать. Когда вы настраиваете этот клиент с несколькими серверами, он хэширует ключ, чтобы определить, на какой сервер будет отправлено значение (в вашем случае сеанс). Есть некоторые клиенты, которые разрешают репликацию, отправляя значение на несколько серверов, но это не обычная функция.

Если вы используете долгоживущие сеансы или хотите убедиться, что они не будут удалены, вы не должны использовать memcached (любой кэш в этом отношении) для хранения сеансов. Даже если вы можете использовать несколько серверов, сеанс может быть исключен алгоритмом LRU, когда кэш заполнен. В этом случае используйте постоянное хранилище, такое как файл или база данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...