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

Hiredis Redisライブラリは非同期コールバック用の独自のスレッドを作成しますか?

    Redisクライアントは追加のクレントスレッドを作成せず、既存のスレッドで機能します。

    Redisは別の(メイン)プロセスで動作しました。使用するredisAPIはローカルプロセスで機能し、メインプロセスへのプロセス間通信を使用します。非同期リクエストとは、プロセスまたはスレッドがタスクを別のタスクに配置し、その後、他のYouTubeタスクまたは待機イベントを実行する可能性があることを意味します。しばらくして、非同期応答がアプリケーションに到着し、使用できるようになりました。アプリケーションは、https://en.wikipedia.org/wiki/Event_loop、またはイベントを処理するためにコールバックを呼び出すことによって通知する非同期管理システム(この場合はredis回答)を使用する必要があります。

    非同期アーキテクチャとは、各イベントのコールバックハンドラーを呼び出すイベントループを実行することを意味します。コールバックが呼び出されると、多数の非同期タスクを作成できます。タスクが作成されると、タスクが完了したときやエラーが発生したときよりも、コールバックイベントハンドラーが呼び出されると想定されます。コールバックは、アプリを起動するか、新しいWeb接続が表示されるように割り当てることができます。コールバックが呼び出されると、redisタスクを作成でき、後で結果イベントのコールバックが呼び出されます。現在のスレッドのすべてのもの。私は複数のスレッドを持っていますが、スレッドごとに1つのイベントループがあると予想するのが妥当です。

    Redisのシングルスレッドの性質:http://redis.io/topics/latency#single-threaded-nature-of-redis

    Redisは多重化と非ブロッキングI/Oを使用するため、クライアントソケットは非ブロッキング状態になります。 http://redis.io/topics/clientsこれは、クライアントがブロックされることは決してないことを意味します。

    Redis 2.4以降、Redisのスレッドはバックグラウンドで低速のI / O操作を実行するためにのみ使用され、主にディスクI / Oに関連していますが、Redisが単一のスレッドを使用してすべてのリクエストを処理するという事実は変わりません。



    1. HadoopInputFormatとMapReduceのInputFormatのタイプ

    2. 日付/時刻をmongodbに保存するための最良の方法

    3. AdminBro、express、mongoDB、mongooseを使用して5分で管理エリアを作成する

    4. mongoDBは明確で、同じクエリのどこにありますか?