redistemplate工具類 如何改變Redis用不好的誤區(qū)?
如何改變Redis用不好的誤區(qū)?這個問題有點棘手。它不能被很好地使用的原因有很多,所以很難一一列出,但要想很好地使用它確實需要一些準備工作:1。加深對redis的理解a.redis可視為一個大地圖,對
如何改變Redis用不好的誤區(qū)?
這個問題有點棘手。它不能被很好地使用的原因有很多,所以很難一一列出,但要想很好地使用它確實需要一些準備工作:
1。加深對redis的理解
a.redis可視為一個大地圖,對于特殊的事物,值可以有多種數(shù)據(jù)類型
B.對于redis支持的數(shù)據(jù)類型,提供了一套相關(guān)的操作
C redis是單進程、單線程、CPU資源利用率低(集中式,集群部署可以解決這個問題),不適合做太多的計算
D.它提供了多種自動清洗機制
e.它提供了多種持久化機制
…
2.盡量使用更高級的redis客戶端
盡量避免使用低級的redis接口。底層接口對用戶要求高,容易出現(xiàn)問題(忘記把redis鏈接放回連接池)。在Java中,首選與spring數(shù)據(jù)redis相關(guān)的接口,尤其是使用redistemplate時;如果需要基于redis構(gòu)建特殊的數(shù)據(jù)結(jié)構(gòu)(隊列、鎖),優(yōu)先使用萵苣
~]#最大總連接數(shù)redis.pool.maxTotal=1000
#可保持idel狀態(tài)的最大對象數(shù)(最大活動樹)redis.pool.maxIdle=100
#可以保持idel狀態(tài)的對象的最小數(shù)量(最小活動樹)redis.pool.minIdle=50
#最大池中沒有返回對象時的等待時間redis.pool.maxWaitMillis=10000
#調(diào)用借用對象方法時檢查有效性redis.pool.testOnBorrow=真
#調(diào)用返回對象方法時檢查有效性redis.pool.testOnReturn=真
#“空閑鏈接”檢測線程,檢測周期,毫秒數(shù)。如果該值為負,則表示檢測線程未運行。默認值為-1redis.pool.timebetweenvictionrunsmillis=30000
#將鏈接對象輸出到調(diào)用者時是否檢測該對象的空閑超時redis.pool.testWhileIdle=真
#對于“空閑鏈接”檢測線程,每次檢測到的鏈接資源數(shù)。默認值為3redis.pool.numTestsPervictionRun=50
#Redis服務(wù)器的IPredis.ip=xxxxxx
#redis服務(wù)器端口redis.port=6379
redis連接池參數(shù)?
redis的單鏈路模式和連接池模式有很大區(qū)別。主要體現(xiàn)在服務(wù)器的利用效率上。例如redis服務(wù)器基本上可以支持10W/s的簡單操作,使用單鏈路方式訪問redis服務(wù)器,由于通信開銷,只能執(zhí)行1000~10000/s的簡單操作,當(dāng)客戶端和服務(wù)器傳輸數(shù)據(jù)和命令時,redis服務(wù)器處于空閑狀態(tài)。通過使用連接池(又稱多鏈路模式)和多線程,最大限度地利用redis服務(wù)器的CPU資源,性能真正達到10W/s。