2

グリーン フィールド プロジェクトを開始する場合、代わりに Netty プロジェクトを使用することをお勧めしますjava.net.Socketか?

いつ Netty を使用し、いつ java.net.Socket を使用するのですか?

プロジェクトは Redis に接続することです。

4

2 に答える 2

2

1 つは同期で、もう 1 つは非同期であるため、どのようにプログラミングするかを選択する必要があります。単純なケースでは同期の方法がより明白ですが、要件が厳しくなるにつれて、通常は非同期のアプローチが優先されます。Async は、システム リソースの倹約性と柔軟性の点で明確な勝者です。その点で、Netty はそれ自体が優れた最新の Java ライブラリです。

于 2013-06-17T15:34:51.073 に答える
1

私はNettyを使用します。

  1. 同期操作 (OIO を使用) を実行する場合は、簡単です。
  2. netty パイプラインを変更することで拡張可能であり、実行時に動作を簡単に変更または追加できます (これは、redis クライアントがやりたいことのように思えます)。
  3. 必要に応じて、すべてのハンドラーを変更することなく、(NIO/NIO2/AIO を使用して) 非同期操作に切り替えることができます。(ヒント: おそらく、Redis マーシャラー/アンマーシャラーを netty チャネル ハンドラーとして実装することをお勧めします)。

redis Java クライアント用に (PUB/SUB のように) SUB だけを実装しました。サブスクライブするときにブロックする必要がないのは素晴らしいことです。

于 2013-06-17T18:47:27.440 に答える