我是Redis的新手,并通过Redis in Action一书,详细介绍了竞争条件和不同的锁定机制以避免它.(有一个专门的章节).但是在一些StackOverflow帖子中,讨论了Redis是单线程的.链接如下: 对数据结构的redis操作是否安全
在上面的链接中(在其中一个答案中)明确写明,当执行命令时,不会运行其他命令.
现在我的问题是:如果Redis是Single Threaded,那么为什么需要Locking机制呢.
请澄清一下,如果我的理解中的任何地方都错了,请告诉我.
此外,它遵循乐观的锁定机制,其中多个线程可能尝试更新数据,如果数据被修改,它将被通知给试图同时更新的其他线程(因为它们的更新失败,它们可以再次重试相同的操作).
redis ×1