Marco Ceppi
Marco Ceppi

Reputation: 7702

Is Redis list or set pop method thread safe?

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

Answers (1)

Sebastian Piu
Sebastian Piu

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

Related Questions