3 ms·
> only transport needs to be multi-threaded Could he have gone with a non-blocking approach like libuv?
by MuffinFlavored 7y ago
> only transport needs to be multi-threaded
Could he have gone with a non-blocking approach like libuv?
- yazaddaruvala 7y agoRedis is single threaded because it heavily relies on non-blocking IO like libuv. The multithreaded option is also based on non-blocking IO. You can think of it as one Event Loop per CPU core, rather than only one Event Loop per computer.
- gigatexal 7y agoIsn’t that basically what KeyDB does?
- yazaddaruvala 7y agoI’m sure it’s the same. I was mostly outlining the pattern in general, not trying to imply it’s redis specific. A sibling post says that the keydb implementation also lets the multithreaded executor perform parsing. So I guess that is one difference.