Redis is *kinda* single threaded, since there are threads in order to perform certain slow operations on disk. So far threaded operations were so focused on I/O that our small library to perform asynchronous tasks on a different thread was called bio. c: Background I/O, basically.
Why are is single threaded?
Because scheduling is hard, shared data management is even harder, and a single resource can only be accessed serially anyway, a single thread used to represent each long-held resource and each long-running procedure is a typical way to structure code.
Is single threaded better?
When the ratio Overhead / Execution Time is greater than P/2, a single thread is faster. MultiThreading on Single Core CPU : 1.1 When to use : Multithreading helps when tasks that needs parallelism are IO bound.