Redis是一款高性能的Key-Value数据库,被广泛地应用在NoSQL、缓存等领域。本文将聚焦于Redis的应用中的TCP/IP协议,分析它是如何工作的,以及它提供的好处。
Redis使用TCP/IP协议作为客户端与服务端连接的协议,它是一种可靠的、双向的协议,可以在网络上传输数据。客户端和服务端可以通过TCP连接发送请求,并在
服务器
处理完成后接收响应数据;客户端与服务端之间可以靠TCP双向发送数据,使得在发送请求时可以充分利用服务器的资源,从而提升服务器的吞吐量和响应速度。
为保障TCP连接的可靠性,Redis在数据传输和处理时将请求和响应数据分别打包进行发送,并且对发送和接收的数据都进行MD5校验,确保传输的数据被准确的接收;此外Redis还实现了数据包的压缩功能,能够有效的减小网络传输时的数据体量,提升服务器的吞吐量。
此外,Redis服务端只使用TCP协议,不支持UDP协议,这是为了避免服务器丢失因不可靠协议导致的消息。由于TCP协议除了有可靠的数据传输外,还支持可靠的流量控制、拥塞控制以及超时控制,能有效的降低服务器负载,保证Redis服务的稳定性和高可用性。
// Redis客户端发起TCP连接
Socket redisSocket = new Socket(host, port);
// 打开输入输出流
DatainputStream in = new>香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
说出TCP UDP 的特点及区别。
面向连接的TCP“面向连接”就是在正式通信前必须要与对方建立起连接。 比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。 TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。 面向非连接的UDP协议“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。 这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。 UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境UDP协议是面向非连接的协议,没有建立连接的过程。 正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。 QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
简述TCP/IP四层协议
tcp/ip这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。 网络接口层 模型的基层是网络接口层。 负责数据帧的发送和接收,帧是独立的网络信息传输单元。 网络接口层将帧放在网上,或从网上把帧取下来。 互联层 互联协议将数据包封装成Internet数据报,并运行必要的路由算法。 这里有四个互联协议: 网际协议ip:负责在主机和网络之间寻址和路由数据包。 地址解析协议arp:获得同一物理网络中的硬件主机地址。 网际控制消息协议icmp:发送消息,并报告有关数据包的传送错误。 互联组管理协议igmp:被ip主机拿来向本地多路广播路由器报告主机组成员。 传输层 传输协议在计算机之间提供通信会话。 传输协议的选择根据数据传输方式而定。 两个传输协议: 传输控制协议tcp:为应用程序提供可靠的通信连接。 适合于一次传输大批数据的情况。 并适用于要求得到响应的应用程序。 用户数据报协议udp:提供了无连接通信,且不对传送包进行可靠的保证。 适合于一次传输小量数据,可靠性则由应用层来负责。 应用层 应用程序通过这一层访问网络。 网络接口技术 ip使用网络设备接口规范ndis向网络接口层提交帧。 ip支持广域网和本地网接口技术。
UDP是什么意思?
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。 它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。 比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。 例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。 大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。 这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。 正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。 QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
发表评论