Приводит ли каждый вызов в вызове multi () в phpredis к новой сетевой переадресации к redis? - PullRequest
2 голосов
/ 12 марта 2011

В phpredis (клиент c для redis в php) есть вызов 'pipe' и вызов 'multi'.Из документов вызов 'pipe' четко указывает, что все запросы в конвейере будут поставлены в очередь и отправлены все сразу на redis.Однако из документов неясно, все ли запросы в вызове multi () в phpredis также ставятся в очередь и отправляются сразу в redis, или если каждый вызов в вызове multi () приведет к отдельному обращению по сети к сети.redis server.

Итак, вопрос в том, приводит ли каждый вызов в вызове multi () (в отличие от вызова конвейера) в phpredis к новому сетевому обращению к redis?

Ответы [ 2 ]

3 голосов
/ 20 марта 2011

К сожалению, в настоящее время нет способа направить вызовы в блок multi / exec, поэтому он либо конвейерный, либо атомарный.

Каждый звонок между multi() и exec() отправляется индивидуально.

0 голосов
/ 13 марта 2011

Функция phpredis "multi ()" использует только одну обратную связь по сети. Вы можете указать, хотите ли вы, чтобы вся транзакция была атомарной или нет, используя Redis :: MULTI для атомарного и Redis :: PIPELINE для неатомарного (составного?). Если вы не укажете, по умолчанию используется Reis :: MULTI. Это все в документах здесь .

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