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...