Eine verteilte Sperre koordiniert den Zugriff auf eine gemeinsame Ressource über mehrere Prozesse/Server hinweg, sodass jeweils nur einer die Sperre hält. Redis wird häufig dafür verwendet, indem atomare Set-If-Not-Exists-Operationen mit einer TTL kombiniert werden – die korrekte Implementierung erfordert jedoch Sorgfalt und Verständnis der Einschränkungen.
Eine einfache Redis-Sperre (SET NX mit TTL)
token = ();
acquired = redis.(, token, , , );
(acquired) {
{
} {
(, token);
}
}
