Redis je neblokující asynchronní server, není zde zabudovaná žádná sémantika, která by redis blokovala na klientském připojení, dokud není klíč je zdarma.
Poznámka:Redis je vzdálené úložiště dat NoSQL, takže jakýkoli zámek, který implementujete, je „distribuován“ podle návrhu. AcquireLock služby ServiceStack používá primitivní SETNX společnosti redis uzamčení sémantiky, aby bylo zajištěno, že zámek bude mít pouze 1 klientské připojení, všichni ostatní klienti/připojení zůstanou blokováni, dokud nebude zámek uvolněn pomocí exponenciálního opakovacího back-off multiplikátoru k dotazování.
Abyste mohli implementovat distribuovaný zámek bez dotazování, museli byste vytvořit řešení, které využívá kombinaci SETNX + podpory Pub/Sub společnosti Redis k upozornění čekajících klientů, že zámek byl uvolněn.