Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Pipelining vs. Transaktion in Redis

Pipelining ist in erster Linie eine Netzwerkoptimierung. Es bedeutet im Wesentlichen, dass der Client eine Reihe von Befehlen puffert und sie auf einmal an den Server sendet. Es ist nicht garantiert, dass die Befehle in einer Transaktion ausgeführt werden. Der Vorteil hierbei ist die Einsparung von Netzwerk-Roundtrip-Zeit für jeden Befehl.

Redis ist Single-Threaded, also ein individuelles Befehl ist immer atomar, aber zwei gegebene Befehle von verschiedenen Clients können nacheinander ausgeführt werden, z. B. abwechselnd.

Multi/exec stellt jedoch sicher, dass keine anderen Clients Befehle zwischen den Befehlen in der Multi/exec-Sequenz ausführen.