我们专注孝感网站设计 孝感网站制作 孝感网站建设
成都网站建设公司服务热线:18982081108

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

SpringBoot项目中Redis之管道技术

环境:springboot2.3.9.RELEASE + redis3.2.100

Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:

  • 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
  • 服务端处理命令,并将结果返回给客户端。

Redis 管道技术

Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

Redis普通请求模型与管道请求模型对比

(普通请求模型)来源网络

RTT(Round-Trip Time),就是往返时延,在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。

一般认为,单向时延 = 传输时延t1 + 传播时延t2 + 排队时延t3

(管道请求模型)来源网络

性能对比

依赖

 
 
 
 
  1.             org.springframework.boot
  2.             spring-boot-starter-data-redis
  3.         
  4.         
  5.             org.apache.commons
  6.             commons-pool2

配置文件

 
 
 
 
  1. spring:
  2.   redis:
  3.     host: localhost
  4.     port: 6379
  5.     password: ******
  6.     database: 4
  7.     lettuce:
  8.       pool:
  9.         maxActive: 8
  10.         maxIdle: 100
  11.         minIdle: 10
  12.         maxWait: -1

普通方法

 
 
 
 
  1. @Resource
  2. private StringRedisTemplate stringRedisTemplate ;
  3. public void execNormal() {
  4.         long start = System.currentTimeMillis() ;
  5.         for (int i = 0; i < 100_000; i++) {
  6.             stringRedisTemplate.opsForValue().set("k" + i, "v" + i) ;
  7.         }
  8.         System.out.println("耗时:" + (System.currentTimeMillis() - start) + " ms") ;
  9. }

测试结果

总耗时:47秒左右

管道技术

 
 
 
 
  1. public void execPipeline() {
  2.         long start = System.currentTimeMillis() ;
  3.         stringRedisTemplate.executePipelined(new RedisCallback() {
  4.             @Override
  5.             public Object doInRedis(RedisConnection connection) throws DataAccessException {
  6.                 for (int i = 0; i < 100_000; i++) {
  7.                     connection.set(("pk" + i).getBytes(), ("pv" + i).getBytes()) ;
  8.                 }
  9.                 return null ;
  10.             }
  11.         }) ;
  12.         System.out.println("耗时:" + (System.currentTimeMillis() - start) + " ms") ;
  13. }
  14. 测试结果

    耗时:13秒左右

    性能提升了3倍多。

    完毕!!!


    名称栏目:SpringBoot项目中Redis之管道技术
    网页网址:http://www.ytofo.com/article/ccdiopj.html

    免费获取网站设计制作与品牌网站建设策划方案报价

    网站设计 + 品牌建站,策划方案 + 精准报价,现在免费领!品牌要升级,官网先发力!免费领取网站设计制作方案 + 精准报价,专业团队帮你落地
    提交需求

      联系我们

      18980820575
    • 手机:13518219792
    • 地址:湖北孝感市大悟城关镇鄂北物流城13栋125号
    • 24小时服务热线:18982081108

      网站建设服务

    • 网页设计
    • 网站制作
    • 网站开发

      网站推广服务

    • 营销网站建设
    • 百度快速排名
    • 整站网站推广

      网站运维服务

    • 基础维护
    • 网站改版
    • 网站维护

      FOLLOW US

    • 微信二维码

      微信二维码

    Copyright © 2025 湖北孝感网站建设公司 湖北孝感网站建设公司-选我们!湖北专业的孝感网站制作公司!
    All Rights Reserved 版权所有 鄂ICP备2025125038号-8