Redis
 sql >> база данни >  >> NoSQL >> Redis

Блокиране на достъпа до ключа Redis (ServiceStack)

Redis е неблокиращ асинхронен сървър, няма вградена семантика в redis за блокиране при клиентска връзка до ключ е безплатно.

Забележка:Redis е отдалечено хранилище за NoSQL данни, следователно всяко заключване, което внедрявате с Redis, се „разпределя“ по проект. AcquireLock на ServiceStack използва примитивния SETNX на redis семантика на заключване, за да се гарантира, че само 1 клиентска връзка има заключването, всички останали клиенти/връзки остават блокирани, докато заключването не бъде освободено чрез използване на експоненциален множител за отмяна на повторния опит за анкета.

За да приложите разпределено заключване без допитване, ще трябва да създадете решение, което използва комбинация от поддръжката на SETNX + Pub/Sub на redis, за да уведомява чакащите клиенти, че заключването е освободено.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Събитието при изтичане на ключа

  2. Натиснете към опашката на Laravel извън Laravel (NodeJS)

  3. Дублирайте ключ в redis

  4. Node.js мултисървърен клъстер:как да споделяте обект в клъстер с няколко възли

  5. Проектиране на структура от данни на Redis за сортиране на стойности, базирани на времето