3 ms·
He kind of buried the lede: he intends to implement thread-per-connection : "... it is finally possible to implement threaded I/O in Redis, so that different c
by tedd4u 11y ago
He kind of buried the lede: he intends to implement thread-per-connection :
"... it is finally possible to implement threaded I/O in Redis, so that different clients are served by different threads. This means that we’ll have a global lock only when accessing the database, but the clients read/write syscalls and even the parsing of the command the client is sending, can happen in different threads. This is a design similar to memcached, and one I look forward to implement and test."
- antirez 11y agoAbsolutely not, it's the memcached model. There are N threads (like 4 or 8 or one per core) serving all the clients in a multiplexed way like is happening now with a single client. If we'll go the extra mile implementing also background slow operations, we'll send them in another "ops" thread, will block the client, and will resurrect the client and send the result when available. Like we do currently for blocking operations like BLPOP.
- tedd4u 11y agoOkay, I get it -- thanks.