Redis команды синхронные или асинхронные? - PullRequest
0 голосов
/ 05 апреля 2020

AFAIK redis является однопоточным и использует событие l oop под колпаком. Я хотел бы понять 2 вещи:

  1. все ли команды redis синхронны?
  2. , если они асинхронные
  SET mykey "Hello" (first command)
  GET mykey (second command)

есть возможность вторая команда для возврата nil, если команда set еще не выполнена. Это правильно?

1 Ответ

0 голосов
/ 05 апреля 2020

Redis является однопоточным, что означает, что все команды должны быть атомами c. Для деталей

В приведенном выше примере; Если команда SET будет выполнена первой, то команда GET будет ждать завершения SET; если команда GET выполнится первой, то она вернет nil, и впоследствии будет выполнен SET. поэтому каждое выполнение команды - это атоми c.

см. Документацию; https://redis.io/topics/faq.

ps: для redis4.0 есть возможность многопоточности; подробности см. в документации

...