成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringBoot項目中Redis之管道技術

開發(fā) 項目管理 Redis
Redis 管道技術可以在服務端未響應時,客戶端可以繼續(xù)向服務端發(fā)送請求,并最終一次性讀取所有服務端的響應。

[[389061]]

環(huán)境:springboot2.3.9.RELEASE + redis3.2.100

Redis是一種基于客戶端-服務端模型以及請求/響應協(xié)議的TCP服務。這意味著通常情況下一個請求會遵循以下步驟:

  • 客戶端向服務端發(fā)送一個查詢請求,并監(jiān)聽Socket返回,通常是以阻塞模式,等待服務端響應。
  • 服務端處理命令,并將結果返回給客戶端。

Redis 管道技術

Redis 管道技術可以在服務端未響應時,客戶端可以繼續(xù)向服務端發(fā)送請求,并最終一次性讀取所有服務端的響應。

Redis普通請求模型與管道請求模型對比

(普通請求模型)來源網絡

RTT(Round-Trip Time),就是往返時延,在計算機網絡中它是一個重要的性能指標,表示從發(fā)送端發(fā)送數據開始,到發(fā)送端收到來自接收端的確認(接收端收到數據后便立即發(fā)送確認),總共經歷的時延。

 

一般認為,單向時延 = 傳輸時延t1 + 傳播時延t2 + 排隊時延t3

(管道請求模型)來源網絡

性能對比

依賴

  1. <dependency> 
  2.             <groupId>org.springframework.boot</groupId> 
  3.             <artifactId>spring-boot-starter-data-redis</artifactId> 
  4.         </dependency> 
  5.         <dependency> 
  6.             <groupId>org.apache.commons</groupId> 
  7.             <artifactId>commons-pool2</artifactId> 
  8. </dependency> 

配置文件

  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") ; 

測試結果

總耗時:47秒左右

管道技術

  1. public void execPipeline() { 
  2.         long start = System.currentTimeMillis() ; 
  3.         stringRedisTemplate.executePipelined(new RedisCallback<Object>() { 
  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秒左右

性能提升了3倍多。

完畢!!!

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-03-30 10:46:42

SpringBoot計數器漏桶算法

2020-10-27 14:15:42

SpringBoot

2023-10-26 08:33:16

Redis管道技術

2020-09-23 07:39:59

SpringBoot項目Redis

2023-08-23 13:24:00

異步編程方法

2021-03-19 10:14:28

SpringBoot項目異步調用

2024-07-03 13:03:30

Spring注解項目

2022-06-20 10:45:55

SpringBoot項目

2015-11-05 11:47:37

圖片統(tǒng)計項目開發(fā)技術

2009-08-19 16:36:29

C#管道技術

2021-07-06 21:30:06

Linux進程通信

2022-08-02 10:01:42

架構

2024-08-19 01:10:00

RedisGo代碼

2019-06-20 07:20:24

物聯網項目物聯網IOT

2024-04-01 00:00:00

Redis緩存服務消息隊列

2021-09-30 10:45:33

Linux進程通信

2010-01-21 11:22:35

Linux多線程同步

2024-05-16 08:26:24

開發(fā)技巧項目

2024-09-10 09:05:12

SpringREST并發(fā)

2021-01-21 06:06:30

Jenkins分支管道CI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区三区在线播放 | aaaaaa大片免费看最大的 | 九九热国产精品视频 | 狠狠干狠狠操 | 欧美天堂 | 国产福利在线 | 日日久 | 国产精品一级在线观看 | 中文字字幕一区二区三区四区五区 | 在线观看av网站永久 | 一区中文字幕 | 久久久久久久久综合 | 中文字幕一区在线观看视频 | 日韩理论电影在线观看 | 人人艹人人爽 | 日韩精品专区在线影院重磅 | 美女毛片免费看 | 国产成人免费视频网站高清观看视频 | 日韩免费一二三区 | 欧洲妇女成人淫片aaa视频 | 一区二区三区在线 | 韩日中文字幕 | 一级黄色av电影 | 国产高清在线观看 | 91视在线国内在线播放酒店 | 日韩av在线一区 | 午夜精品久久久久久久久久久久久 | 日韩av一区二区在线观看 | 亚洲永久| 精品久久免费 | h片在线看 | 日韩精品在线观看网站 | 91视频在线看 | 亚洲一区二区免费视频 | av在线免费播放 | av永久免费 | 91久久精品日日躁夜夜躁欧美 | 久久精品一 | 久久av一区| 日韩精品网站 | 成人乱人乱一区二区三区软件 |