redis pipe管道
創新互聯公司專注于網站建設,為客戶提供成都網站建設、做網站、網頁設計開發服務,多年建網站服務經驗,各類網站都可以開發,高端網站設計,公司官網,公司展示網站,網站設計,建網站費用,建網站多少錢,價格優惠,收費合理。redis命令在從提交到返回處理結果的過程中,消耗的時間我們稱之為RTT(往返時間)。
在需要批量執行redis 命令的場景下,如果命令單條逐個執行,那么總共花費的時間是命令條數 N * RTT。
redis 提供了管道技術來提高批量執行效率,即將多個命令打包發送給redis服務端,所有命令執行完后,再將所有結果打包返回。
在所有命令執行結束前,redis服務器會緩存已執行結束的結果。
在redis-cli命令行中,
使用redis管道技術時,我們通常將待執行的命令放到一個文本里,比如commands.txt,然后使用命令:
cat commands.txt | redis-cli --pipe
去讀取文本里的命令,然后打包已pipe管道的方式發送給redis服務端。
如果命令需要帶參數,我們可以根據redis官方提供的命令協議格式:
*<number of arguments> CR LF
$<number of bytes of argument 1> CR LF
<argument data> CR LF
...
$<number of bytes of argument N> CR LF
<argument data> CR LF
額,上面這段是不是很煩?是的,其實沒有這么復雜,你可以直接將多個redis命令寫到一個文件commands.txt里,記住是每個命令占一行。
然后執行:cat commands.txt |redis-cli --pipe
以管道方式執行。
你以為就萬事大吉了?no!你很可能會遇到這個錯誤:
ERR unknown command 'et'
即執行了第一條命令,剩下的都報錯了。原因是redis-cli中只支持dos格式的換行符 \r\n ,因此你需要對文件進行轉碼:unix2dos commands.txt
然后再執行上面的命令。
附:安裝unix2dos:
macOS:
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:redispipe管道-創新互聯
URL分享:http://m.newbst.com/article20/iojco.html
成都網站建設公司_創新互聯,為您提供企業建站、軟件開發、云服務器、外貿網站建設、電子商務、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯