十一 redis之pipeline批處理

2021-08-22 08:38:10 字數 844 閱讀 7590

1次pipeline可以執行n個命令,只消耗1次網路時間。

1次pipeline(n個命令) = 1次網路時間+n個命令時間。

命令n個命令操作

1次pipeline(n個命令)

時間n次網路+n次命令

1次網路+n次命令

返回資料量

1條資料

n條資料

redis的命令通常是微妙級別的。redis執行命令的速度本身是非常快的,所以可以考慮用pipeline來優化網路消耗時間。

pipeline就是解決n次操作消耗很多網路時間的問題。

注意每次攜帶的資料量!乙個pipeline不要執行太多命令了,比如一次執行100萬條命令,那就呵呵了。

pipeline適合用來做批量操作。

pipeline每次只能作用在乙個redis節點上。

執行一萬次操作沒有pipeline

jedis jedis = new jedis("192.168.2.103",6379);

for(int i = 0; i<10000;i++)

執行一萬次操作使用pipeline,每個pipeline執行100條,分100個pipline來執行。

jedis jedis = new jedis("192.168.2.103",6379);

for(int i = 0; i<100;i++)

pipeline.syncandreturnall();

}

m操作是原子命令。

pipeline不是原子命令,在redis中會把乙個攜帶很多命令的pipeline拆分成幾個子命令。

redis之(十一)redis實現快取的功能

一 redis實現快取的原理 利用鍵的失效時間設定實現快取技術 由於redis的記憶體有限,可以在redis的配置檔案裡設定maxmemory的引數。來限制redis最大可用記憶體的大小。單位是位元組 當超出這個限制的時候,redis可以依據maxmemory policy引數指定的策略來刪除不需要...

Redis 十一 Redis配置密碼

在測試中,只需要將就redis的測試使用即可 但實際開發中,為了保護資料的安全性,需要針對redis的訪問增加賬號密碼操作!由於使用的redis配置檔案放置於 usr local redis conf 路徑下,此時需要修改其中的配置檔案資訊。vi usr local redis conf redis...

Redis(十一) Redis分布式鎖

為什麼需要使用分布式鎖 因為synchronize和lock是乙個jvm中線程級別的鎖。如何應用部署在多台伺服器上 多個jvm 那synchronize和lock就不起作用了。所以需要分布式鎖來保證符合操作的原子性。1 基於資料庫 2 zookeeper分布式鎖 高一致性,效能較差 3 基於redi...