高并發(fā)緩存學(xué)習(xí)
1、參數(shù)驗證
2、緩存一個id白名單
3、如果不存在某一個數(shù)據(jù),則設(shè)置空結(jié)果并設(shè)置過期時間
4、設(shè)置白名單,會存在占用內(nèi)存過大,可以使用redis的布隆過濾器。先計算id hash值,然后mod 數(shù)組長度。
集群session一致性問題解決
1、IP_ hash
缺點:
服務(wù)器重啟造成seesion丟失
水平擴(kuò)展過程中也會造成丟失
存在單點負(fù)載過高的風(fēng)險
2、服務(wù)器session復(fù)制
修改server.xml的cluster節(jié)點
修改應(yīng)用web.xml,增加節(jié)點<distributable/>
優(yōu)點:
對應(yīng)用無侵入性,不需要修改代碼
能使用各種負(fù)載均衡策略
服務(wù)器重啟不會造成session丟失
安全性高
缺點:
session同步會有一定的延時
占用網(wǎng)絡(luò)帶寬
受制于內(nèi)存資源,水品擴(kuò)展能力差
服務(wù)器數(shù)量較多Gc
序列化反序列化消耗CPU
3、session統(tǒng)一緩存(Springsession包),將服務(wù)器的session重新包裝成自己的session緩存到redis中