кодесурса
«Redis

Redis Keys: ПОДОЖДИТЕ

script1adsense2code
script1adsense3code

ПОДОЖДИТЕ

Команда Redis WAIT блокирует текущего клиента до тех пор, пока все предыдущие команды записи не будут успешно переданы и подтверждены по крайней мере указанным числом ведомых устройств. Если время ожидания, указанное в миллисекундах, достигнуто, команда возвращается, даже если указанное число ведомых устройств еще не достигнуто.

Команда всегда возвращает количество подчиненных, которые подтвердили команды записи, отправленные до команды WAIT, как в случае достижения указанного числа ведомых, так и по истечении времени ожидания.

Несколько замечаний:

  1. Когда WAIT возвращается, все предыдущие команды записи, отправленные в контексте текущего соединения, гарантированно будут получены числом ведомых устройств, возвращенных WAIT.
  2. Если команда отправляется как часть MULTI-транзакции, команда не блокирует, а просто возвращает как можно скорее количество ведомых, которые подтвердили предыдущие команды записи.
  3. Тайм-аут 0 означает блокировать навсегда.
  4. Так как 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code