redis
1.redis幾種數(shù)據(jù)結(jié)構(gòu),常用命令,事務(wù)
2.redis安裝
3.redis和springboot集成
4.redis持久化 (rdb和aof)
內(nèi)存策略,LRU策略
5.緩存穿透(緩存形同虛設(shè))
條件:訪問一個(gè)不存在的數(shù)據(jù)
隱患:導(dǎo)致數(shù)據(jù)庫(kù)負(fù)載高然后宕機(jī)
防護(hù):限定同一ip訪問頻率
6.緩存擊穿(單個(gè)key失效)
條件:當(dāng)緩存失效/過期/未命中 ,高并發(fā)訪問key,
隱患:導(dǎo)致緩存失效,所有的請(qǐng)求訪問后臺(tái)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)負(fù)載高然后宕機(jī)
防護(hù): 1) 通過synchronized+雙重檢查機(jī)制:某個(gè)key只讓一個(gè)線程查詢,阻塞其它線程 2) 設(shè)置value永不過期 3) 使用互斥鎖(mutex key)
7.緩存雪崩(全部的key都失效)
條件:高并發(fā)訪問,緩存命中較低或者失效
解決方案:https://blog.csdn.net/qq_27409289/article/details/85885121
8.redis分片(動(dòng)態(tài)內(nèi)存擴(kuò)容)
數(shù)據(jù)保存算法:hash一致性算法
注重:?jiǎn)握{(diào)性、均衡性、分散性
如何集成springboot
9.redis哨兵(實(shí)現(xiàn)redis高可用)
主從服務(wù)器
主服務(wù)器宕機(jī)--選舉策略
服務(wù)器----》哨兵---》redis
1.哨兵如何檢測(cè)redis是否正常:心跳機(jī)制:連續(xù)三次檢測(cè)不到
2.哨兵從從機(jī)中選舉一臺(tái)從機(jī)從當(dāng)主機(jī),同時(shí)將另外的從機(jī)(舊的主機(jī))修改掛載狀態(tài),掛載到現(xiàn)在的主機(jī)
3.當(dāng)舊的主機(jī)修復(fù)完成,充當(dāng)從機(jī)使用。等待下次選舉
實(shí)現(xiàn):
sentinel monitor mymaster 127.0.0.1 6379 1
mymaster:哨兵的名字
127.0.0.1 6379:主節(jié)點(diǎn)
1:選舉票數(shù)
修改選舉的時(shí)間
修改選舉失敗的時(shí)間
啟動(dòng)哨兵:(26379)
redis-sentinel sentinel.conf
10.redis集群
三組六從搭建
10.1.選舉機(jī)制概念
三組六從最少幾個(gè)節(jié)點(diǎn)掛了導(dǎo)致集群掛?
最少5個(gè)節(jié)點(diǎn),最多7個(gè)節(jié)點(diǎn)可能導(dǎo)致集群掛。
10.2.spring整合集群
10.3.springboot整合集群