Redis命令是同步还是异步?

时间:2020-04-05 12:29:19

标签: redis stackexchange.redis

AFAIK redis是单线程的,它在后台使用了事件循环。我想了解两件事:

  1. 所有redis命令是否同步?
  2. 如果它们是异步的
  SET mykey "Hello" (first command)
  GET mykey (second command)

如果尚未执行set命令,则第二条命令有可能返回nil。正确吗?

1 个答案:

答案 0 :(得分:0)

Redis是单线程的,这意味着所有命令都应该是原子的。有关详细信息

在上述示例中;如果首先执行SET命令,则GET命令将等待,直到SET完成;否则,将执行SET命令。如果首先执行GET命令,则它将返回nil,然后将执行SET。因此,每个命令执行都是原子的。

请参阅文档; https://redis.io/topics/faq

ps:对于redis4.0,它具有一些多线程功能;请参阅文档以获取详细信息