首先我們使用普通的redistemplate進行操作
配置完之後,思考下為啥pipeline可以優化redis的效能?什麼時候使用?
redis是單執行緒的,io多路復用,它需要在前乙個請求處理完成之後,再處理下乙個請求。如果說有很多請求忽然傳送過來,那麼也會影響redis的效能,pipeline可以解決這個問題,也就是批量處理時使用
redistemplate.executepipelined(new sessioncallback()
return null;
}});
必須return null,不然會報錯。上面程式是什麼意思呢?它會返回查詢到的結果新增到list裡面。
下面比較下一般的查詢還有pipeline查詢的速度
@restcontroller
public class redistest */
long t1=system.currenttimemillis();
list list=redistemplate.executepipelined(new sessioncallback()
return null;
}});
long t2=system.currenttimemillis();
system.out.println("耗時:"+(t2-t1));
long t3=system.currenttimemillis();
for (int i = 0; i < 10000; i++)
long t4=system.currenttimemillis();
system.out.println("耗時:"+(t4-t3));
return list;
}}
結果:
耗時:757
耗時:1315
很明顯批量操作的時候使用pipiline可以很好提公升redis的處理效能
Redis之使用和優化
1 加速讀寫 2 降低後端負載 後端伺服器通過前端快取降低負載,業務端使用redis降低後端mysql負載 1 資料不一致 快取層和資料層有時間視窗不一致,和更新策略有關 2 維護成本 多了一層快取邏輯 3 運維成本 比如使用了redis cluster 1 降低後端負載 對高消耗的sql,join...
redis學習筆記 5 之redis記憶體優化
縮減鍵值物件 命令處理 記憶體淘汰策略 如何選擇淘汰策略 內容 為六星教育,這裡僅作為學習筆記 目前大部分公司都會將 web 伺服器 資料庫伺服器等部署在 linux 作業系統上,redis優化也需要考慮作業系統,所以接下來介紹 linux 作業系統如何優化redis。檢查資料持久化策略 資料落磁碟...
Redis集群之優化系統引數
1.最大開啟檔案數量 1 編輯資源限制檔案,針對redis使用者做資源訪問控制,在檔案尾加入最後兩行,sudo vim etc security limits.conf 2 sudo vim pam.d login 在檔案尾加入一行 session required lib security pam...