同じredis listデータ構造にアクセスしているクライアントが2つあるとします。 1つはLPOPを実行し、他のものは同じリストでRPUSHを実行しています。これらの2つのクライアントが並行して実行されている場合、それらの間に競合が存在しますか?並列実行されているクライアントが別のmylistにアクセスしている場合でも、あるクライアントがアクセスしているときに、Redisはその下のmylistをロックしますか?Redisでブロックされることなく、複数のクライアントが同じリストに同時にアクセスできますか?
Client 1
RPUSH mylist a
RPUSH mylist b
Client 2
LPOP mylist
LPOP mylist
クライアント1とクライアント2が並行して実行されています。 このようなシナリオで競合が発生するかどうかを教えてください。
終了時には、すべてのコマンドが順番に処理されます。最初に来る者は、奉仕する。多重化とは、すべての受信コマンドがリスニングソケットからどのように取り出され、実行のためにシリアライズされるかを指します。しかし、真剣に、あなたのケースは、並行性のランダム性の影響を強く受けます。 – hymloth