3.官方優化建議3.1網路延遲
客戶端可以通過TCP/IP或Unix域Socket連線到Redis。通常在千兆網路環境中,TCP/IP網路延遲是200us(微秒),Unix域Socket可以低到30us。關於Unix域Socket(Unix Domain Socket)還是比較常用的技術,具體請參考Nginx+PHP-FPM的域Socket配置方法。
什麼是域Socket?
維基百科:“Unix domain socket 或者 IPCsocket 是一種終端,可以使同一臺作業系統上的兩個或多個程式進行資料通訊。與管道相比,Unix domain sockets 既可以使用位元組流數和資料佇列,而管道通訊則只能通過位元組流。U**nix domain sockets的介面和Internet socket很像,但它不使用網路底層協議來通訊。Unix domain socket的功能是POSIX作業系統裡的一種元件。Unix domain sockets使用系統檔案的地址來作為自己的身份。它可以被系統程式引用。所以兩個程式可以同時開啟一個Unix domain sockets來進行通訊。不過這種通訊方式是發生在系統核心裡而不會在網路裡傳播**。”
網路方面我們能做的就是減少在網路往返時間RTT(Round-Trip Time)。官方提供了以下一些建議:
- 長連線:不要頻繁連線/斷開到伺服器的連線,儘可能保持長連線(Jedis現在就是這樣做的)。
- 域Socket:如果客戶端與Redis服務端在同一臺機器上的話,使用Unix域Socket。
- 多引數命令:相比管道,優先使用多引數命令,如mset/mget/hmset/hmget等。
- 管道化:其次使用管道減少RTT。
- LUA指令碼:對於有資料依賴而無法使用管道的命令,可以考慮在Redis服務端執行LUA指令碼。
本文作者:geelou
本文來自雲棲社群合作伙伴rediscn,瞭解相關資訊可以關注redis.cn網站。
相關文章
- win10優化網路延遲操作方法_win10最詳細優化網路設定Win10優化
- MySQL Slave延遲很大優化方法MySql優化
- 【MySQL】 效能優化之 延遲關聯MySql優化
- python檢測網路延遲Python
- 針對行動網路開發的優化建議優化
- 網際網路專案中“延遲”分析
- 如何利用網路延遲穿越時空
- 從雙十一的物流大戰,看全球通訊網路的低延遲優化優化
- MySQL 效能優化:效能提升 50%,延遲降低 60%MySql優化
- Redis優化建議Redis優化
- EntityFramework 優化建議Framework優化
- Mysql優化建議MySql優化
- 阿里雲 DTS 網路延遲為那般 ?阿里
- 網路延遲對事務的影響
- 網路應用優化——時延與頻寬優化
- 主從延遲調優思路
- 啟動優化之動態庫延遲載入優化
- Web效能優化系列(3):如何延遲載入JSWeb優化JS
- TCP協議之網路延時TCP協議
- 香港地域ECS網路延遲異常通知公告
- MongoDB的複製延遲和網路分割槽MongoDB
- Zabbix 5.0 優化建議優化
- html前端優化建議HTML前端優化
- 頁面優化建議優化
- 網路丟包,網路延遲,這款神器幫你搞定所有
- C#效能優化之Lazy<T> 實現延遲初始化C#優化
- Android優化(三)_延遲電池續航時間Android優化
- 前端效能優化——延遲載入和非同步載入前端優化非同步
- 高吞吐低延遲Java應用的垃圾回收優化Java優化
- Arduino和低功耗微控制器機器學習 - 優化延遲UI機器學習優化
- Fiddler(8)設定網路丟包和延遲
- esp32筆記[17]-顯示網路延遲筆記
- 資料庫優化建議資料庫優化
- OGG複製程式延遲高,優化方法一(使用索引)優化索引
- 「視訊直播技術詳解」系列之五:延遲優化優化
- win10最佳化網路延遲操作方法_win10最詳細最佳化網路設定Win10
- mysql優化 | 儲存引擎,建表,索引,sql的優化建議MySql優化儲存引擎索引
- 新 Uber 司機端是如何克服網路延遲問題