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

Какви са основните разлики между select, epoll, kqueue и evport?

Като цяло всички подсистеми за Async I/O имат различни вътрешни елементи, но в настоящия конкретен случай тези конкретни асинхронни I/O библиотеки се използват за поддържане на възможно най-много платформи. Това е:

  • evport =Solaris 10
  • epoll =Linux
  • kqueue =OS X, FreeBSD
  • изберете =обикновено се инсталира на всички платформи като fallback

Evport , Epoll и KQueue имат O(1) сложността на алгоритъма за избор на дескриптор и всички те използват вътрешни структури на паметта на ядрото. Също така те могат да служат много (стотици хиляди) файлови дескриптори.

Освен останалите, select може да обслужва самодо 1024 дескриптори и извършва пълно сканиране на дескриптори (така че всеки път, когато повтаря всички дескриптори, за да избере един, с който да работи), така че сложността е O(n) .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Концепция на Redis:в паметта или в DB?

  2. Транзакции на Redis

  3. Защо Laravel Redis::scan('*') връща очакван ключ, но Redis::keys('*') не?

  4. Кой е най-лесният начин да намерите най-големите обекти в Redis?

  5. Redis Pub/Sub ServiceStack, анулира нишката