How many cores can Redis possibly utilize

redis

I am using Redis on virtual machines and having trouble deciding how many cores should I assign to them.

I know that Redis uses single thread to serve requests, but documentation also states that some tasks performed in background by different threads/processes.

I can assign more cores than needed without wasting resources, but I don't like the idea of going over theoretical limit, which I assume exists in this case.

So far I came up with this:

Did I miss something, are there any other tasks where Redis can utilize additional cores? Perhaps replication or streams?

Best Answer

Redis is, mostly, a single-threaded server from the POV of commands execution (actually modern versions of Redis use threads for different things). Please go through below links. How fast is Redis?. There is also one same post on stackoverflow - Redis is single-threaded, then how does it do concurrent I/O?