2

开始一个绿地项目时,现在是否建议使用 Netty 项目而不是java.net.Socket?

何时使用 Netty,何时使用 java.net.Socket?

该项目是连接到Redis。

4

2 回答 2

2

一个是同步的,另一个是异步的,所以你需要选择你想要的编程方式。在简单的情况下,同步方式更为明显,但通常随着需求的增加,异步方式会胜出。在节省系统资源和灵活性方面,异步绝对是赢家。为此,Netty 本身就是一个伟大的现代 Java 库。

于 2013-06-17T15:34:51.073 回答
1

我会使用 Netty。

  1. 当您想要进行同步操作(使用 OIO)时,这很简单。
  2. 它可以通过修改 netty 管道进行扩展,允许您在运行时轻松修改或添加行为(这似乎是 redis 客户端可能想要做的事情)
  3. 如果必须,您可以切换到异步操作(使用 NIO/NIO2/AIO),而无需修改所有处理程序。(提示:您可能希望将 Redis 编组器/解组器实现为 netty 通道处理程序)。

我只为 redis java 客户端实现了 SUB(如在 PUB/SUB 中),很高兴在订阅时不必阻塞。

于 2013-06-17T18:47:27.440 回答