Reputation: 7702
I'm building out a queuing service which will be multi-threaded. I need to make sure that Redis, our data backend, has a thread safe pop function for either lists or set types. The idea being that any number of threads can invoke Redis lpop
or spop
and not have any collisions. I'm not really sure how to test this and it doesn't explicitly state anywhere on the Redis page if the pop function is thread-safe.
Upvotes: 7
Views: 6353
Reputation: 8008
from the benchmark page
Redis is a single-threaded server. It is not designed to benefit from multiple CPU cores. People are supposed to launch several Redis instances to scale out on several cores if needed. It is not really fair to compare one single Redis instance to a multi-threaded data store.
so as every command gets queued in a single thread you should be ok as there will never be two commands executing in parallel
Upvotes: 18