Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Zablokuj dostęp do klucza Redis (ServiceStack)

Redis to nieblokujący serwer asynchroniczny, nie ma wbudowanej semantyki do blokowania redis na połączeniu klienta, dopóki nie zostanie klucz jest bezpłatny.

Uwaga:Redis jest zdalnym magazynem danych NoSQL, dlatego każda zaimplementowana blokada związana z redis jest „dystrybuowana” zgodnie z projektem. AcquireLock firmy ServiceStack używa prymitywnego SETNX z redisa semantyka blokowania, aby zapewnić, że tylko jedno połączenie klienta ma blokadę, wszyscy pozostali klienci/połączenia pozostają blokowane do momentu zwolnienia blokady przy użyciu mnożnika wycofywania wykładniczego ponownych prób do odpytywania.

Aby wdrożyć rozproszoną blokadę bez odpytywania, musisz stworzyć rozwiązanie, które wykorzystuje kombinację obsługi Pub/Sub SETNX + redis, aby powiadamiać oczekujących klientów, że blokada została zwolniona.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zrobić GROUP BY w Redis

  2. Podejścia do przechowywania danych geoprzestrzennych w Redis

  3. redis-server w ubuntu14.04:Adres powiązania jest już używany

  4. Jak uzyskać, zaktualizować wszystkie klucze i ich wartości z bazy danych redis w c#?

  5. Jak przekierować dane wyjściowe subskrypcji redis