The problem/use-case that the feature addresses Now with computers/servers having LARGE amount of CPU cores, it would be great for Redis to run one instance and utilize all CPU cores instead of having to run multiple Redis instances.
Description of the feature Make Redis fully multi-threaded.
Comment From: madolson
I'm happy to let you know, Redis already runs with multiple threads today! We use background threads for various operations like lazy flush ;D
Joking aside, this is a great ask and we are looking into it. One of our thoughts is to make it easy to run redis cluster mode in a multi-threaded environment, since that provides a logical way to split up the keyspace. For example, we could have 8 threads running each listening to their own port and owning 1/8 of the slot space. You would need to run with a cluster aware client, but it would allow you to incrementally add more threads over time. Do you have any thoughts about that type of approach?
Comment From: ssaid11
@madolson This seems like a great way to achieve multi-threading without introducing locking which would impact performance. If I understand correctly, this would be similar in principle to running multiple shards on the same machine, each handing a separate keyspace.
Comment From: szmcdull
would it be nice to assign a single thread to each DB? and that we will have 16 threads working