【发布时间】:2018-01-03 23:28:33
【问题描述】:
我正在尝试了解 Redis 的基础知识。 无处不在的是,Redis 是单线程的,它使事情变得原子化。但我无法想象这是如何在内部工作的。我有以下疑问。
如果是 IO 绑定应用程序(如 Node.js),我们不设计一个服务器单线程,其中线程在启动 IO 操作后获得另一个请求,并在 IO 操作完成后返回数据给客户端(提供并发) .但是在redis的情况下,所有数据都在主内存中可用,我们根本不会做IO操作。那么为什么Redis是单线程的?如果第一个请求花费太多时间会发生什么,剩下的请求必须保持等待?
【问题讨论】:
-
This answer 解释得很好。
标签: multithreading redis event-driven single-threaded