sql >> データベース >  >> NoSQL >> Redis

select、epoll、kqueue、およびevportの根本的な違いは何ですか?

    一般に、すべての非同期I / Oサブシステムの内部は異なりますが、現在の特定のケースでは、これらの具体的な非同期I / Oライブラリを使用して、可能な限り多くのプラットフォームをサポートしています。つまり:

    • evport =Solaris 10
    • epoll =Linux
    • kqueue =OS X、FreeBSD
    • 選択 =通常はすべてにインストールされます fallbackとしてのプラットフォーム

    EvportEpoll 、およびKQueue O(1)がある 記述子選択アルゴリズムの複雑さ、およびそれらはすべて内部カーネル空間メモリ構造を使用します。また、たくさんを提供できます (数十万)ファイル記述子。

    他のものとは別に、select 1024までしか提供できません 記述子、および記述子のフルスキャンを実行するため(したがって、すべての記述子を繰り返して処理する記述子を選択するたびに)、複雑さは O(n)




    1. phpredisMACOSXをインストールします

    2. PyMongoでコレクションオブジェクトを呼び出せないエラー

    3. 配列フィールドでサブドキュメントを並べ替える方法は?

    4. ElasticBeanstalkにRedisをインストールして設定する方法