重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“redis中的请求/响应模式可以做什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
公司主营业务:成都网站设计、成都网站制作、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出沧州免费做网站回馈大家。
同一个连接上,请求/响应模式如下:
交互方向:客户端发送请求数据,服务器发送响应数据
对应关系:每一个请求数据有且仅有一个对应的响应数据
时序:响应数据的发送发生在"服务器完全接收到其对应的请求数据"之后
串行化实现方式,即同一个连接上,客户端收完第一个请求的响应后,再发起第二个请求。
同一个连接的每一秒的吞吐量低:
单连接吞吐量 = 1 / (2 * 网络延迟 + 服务器处理单请求的时间 + 客户端处理单请求的时间)
Redis对单个请求的处理时间非常非常短,因此,在串行化模式下,单连接的大部分时间都处于网络等待,灭有充分利用服务器的能力。
不等上一次结果返回就发送下一次请求的模式成为pipeline。
Redis依赖的TCP协议是全双工,请求/响应穿插进行也不会发生请求和响应数据的混乱,因此可以将请求数据批量发送到服务器,再批量地从服务器连接的字节流中依次读取每个响应数据,可极大提高单连接吞吐量。
该模式适合批量的独立写入操作。
pipeline的实现取决于客户端,需要考虑以下方面:
通过批量请求发送还是异步化请求发送来实现。
非异步化的批量发送下需要考虑每个批次的数据量,避免连接的buffer满之后的死锁
对使用者如何封装接口,使得pipeline使用简单
pipeline能达到的单连接每秒最高吞吐量为:
(n - 2 * 网络延迟) / (n * (服务器单请求处理时间 + 客户端单请求处理时间))
当n无穷大时,网络延迟可以忽略不计,吞吐量为:
1 / (服务器单请求处理时间 + 客户端单请求处理时间)
“Redis中的请求/响应模式可以做什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!