Redis Keys: ПОДОЖДИТЕ
ПОДОЖДИТЕ
Команда Redis WAIT блокирует текущего клиента до тех пор, пока все предыдущие команды записи не будут успешно переданы и подтверждены по крайней мере указанным числом ведомых устройств. Если время ожидания, указанное в миллисекундах, достигнуто, команда возвращается, даже если указанное число ведомых устройств еще не достигнуто.
Команда всегда возвращает количество подчиненных, которые подтвердили команды записи, отправленные до команды WAIT, как в случае достижения указанного числа ведомых, так и по истечении времени ожидания.
Несколько замечаний:
- Когда WAIT возвращается, все предыдущие команды записи, отправленные в контексте текущего соединения, гарантированно будут получены числом ведомых устройств, возвращенных WAIT.
- Если команда отправляется как часть MULTI-транзакции, команда не блокирует, а просто возвращает как можно скорее количество ведомых, которые подтвердили предыдущие команды записи.
- Тайм-аут 0 означает блокировать навсегда.
- Так как WAIT возвращает количество ведомых устройств, достигнутых как в случае сбоя, так и в случае успеха, клиент должен проверить, что возвращаемое значение равно или больше требуемого уровня репликации.
Детали реализации
В конкретном случае реализации WAIT Redis запоминает для каждого клиента смещение репликации созданного потока репликации, когда заданная команда записи была выполнена в контексте данного клиента. Когда вызывается WAIT, Redis проверяет, подтвердило ли указанное число ведомых это смещение или большее.
Синтаксис:
ПОДОЖДИТЕ
Доступно с
3.0.0.
Возвращаемое значение
Целочисленный ответ: команда возвращает число ведомых устройств, которых достигли все записи, выполненные в контексте текущего соединения.
Тип возвращаемого значения
целое число
Пример: Redis WAIT
Сначала создайте несколько ключей в Redis и установите в них некоторые значения.
127.0.0.1:6379> SET key1 Apple Хорошо 127.0.0.1:6379> ПОДОЖДИТЕ 2 1 (целое число) 0 127.0.0.1:6379> ПОДОЖДИТЕ 2 1000 (целое число) 0 (1.01s)
В приведенном выше примере первый вызов WAIT не использует тайм-аут и запрашивает запись для достижения 1 подчиненного. Возвращается с успехом. Во второй попытке вместо этого мы устанавливаем таймаут и запрашиваем репликацию записи двум ведомым. Поскольку доступен один ведомый, после одной секунды WAIT разблокируется и возвращает 1, достигнуто число ведомых.
Предыдущая: ТИП
Далее: Redis Strings SET
Новый контент: Composer: менеджер зависимостей для PHP , R программирования