Yalnızca DB'm olarak Redis kullanıyorum ve istemcim ServiceStack.Redis. İki eşzamanlı isteğin bir anahtarı güncellemesi gerekirse, o zaman bir yarış durumu olabilir. ÖrneğinRedis'i kullanarak yarış koşullarını nasıl önleyebilirim?
A:
- int a = Get anahtar
- ÇOK
- a = a -
- Set anahtar bir
- EXEC
B:
- int a = Get anahtar
- ÇOK
- a = a - 100
- Set anahtar bir
- EXEC
eğer Kökeni "anahtar" 1000'dir. Eğer A ve B yayılımı seri ise ized, "anahtar" ın bu iki operasyonunun doğru sonuçları 800 olacaktır. Fakat A ve B aynı zamanda gerçekleşirse. A'nın işlem yapabilmesi için, B Operasyonu B, "anahtar" dan 1000 değerini alır ve 900'ü "anahtar" olarak ayarlar. İstediğim bu değil. Bu tür yarış koşullarını nasıl önleyebilirim, "İZLE" yi kullanabilir miyim?
Evet SAATİ kullanın. –